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
},