当使用“右键”触发点击事件时,“select”功能中的“else if”in不会触发它。最令人讨厌的是它被我之前制作的任何其他样本页面捕获。请帮我调试这个问题。
document.addEventListener('click' ,this.select.bind(this) ,false);
Filesystem.prototype.select = function(event){
if(event.button === 0){
// Code that's working fine
}
else if(event.button === 2){
alert("hello");
}
}
答案 0 :(得分:0)
基本问题是您无法使用点击事件拦截右键单击。相反,请使用mousedown或contextmenu。
请参阅此JSFiddle:https://jsfiddle.net/0rd5dc3v/5/。
var select = function(event){
console.log(event);
if(event.button === 0){
// Code that's working fine
}
else if(event.button === 2){
alert("hello");
}
}
document.getElementsByClassName('click')[0].addEventListener('click' ,select,false);
document.getElementsByClassName('mousedown')[0].addEventListener('mousedown' ,select,false);
未捕获红色方块的右键单击(侦听点击事件),但会捕获蓝色方块(侦听mousedown事件)。