IE 浏览器阻止鼠标右键默认效果后 鼠标右键点击执行两次

IE 浏览器阻止鼠标右键默认效果后 鼠标右键点击执行两次

问题

在屏蔽浏览器鼠标右键后,重写鼠标右键事件,在谷歌浏览器是正常的,但是IE浏览器会执行两次

解决方法

        // 屏蔽右键
        menuDis() {
            let _this = this
            document.oncontextmenu = function (e){
                if(navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
                    // IE屏蔽
                    window.event.returnValue = false
                }else {
                    // 其他
                    e.preventDefault()
                }

                return false
            }
        },
        // 自定义鼠标右键事件
        myMenu(e,index) {
            let _this = this
            if(e.button === 2) {
                if(navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
                    // 只取第二次执行的结果
                    if(_this.menu === 2) {
                        console.log(this.getXY(), index)
                        _this.menu = 0
                    }
                    _this.menu++
                }else {
                    console.log(this.getXY(), index)
                }
            }
            return false
        },

你可能感兴趣的:(web,javascript,前端,vue.js)