尝试创建一个扫雷游戏,右键单击会添加一个标志。但是,右键单击事件目前不起作用,即无法获取鼠标右键和鼠标中键的 event.which
的值。只需获取 contextMenu
。
示例 JS:
var trig = function (event) {
if(event.which==1){
//do something on left click
}
else if(event.which === 3)
{
event.preventDefault();
console.log(event.isDefaultPrevented());
//Do something on right click.
}
}
$('.block').click(trig);
谁能告诉我发生这种情况的合理原因?
preventDefault 只是在 conextmenu 变得烦人时添加的。
最佳答案
0 表示鼠标左键,1 表示滚轮按钮或中间按钮(如果存在)和 2 代表鼠标右键。
Internet Explorer 8 及更早版本具有不同的值:
1 鼠标左键,2 鼠标右键和 4 用于滚轮按钮或中间按钮(如果存在)。
改变
else if(event.which === 3)
到
else if(event.which === 2 || event.which === 3)
或:对于 IE <= 8
else if(event.which === 2 || event.which === 4)
关于javascript - 如何在鼠标滚动和右键单击上添加事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52753164/