Javascript Jquery contextmenu事件始终将e.which返回为0
我使用的是Javascript Jquery contextmenu事件始终将e.which返回为0,javascript,jquery,events,contextmenu,Javascript,Jquery,Events,Contextmenu,我使用的是contextmenu,它是使用上的jquery绑定的。我注意到e.which和e.button总是0 这有什么原因吗 $("div").on("contextmenu", function(e){ if(e.which) //Always 0 //do something }); 编辑:我的错误这只发生在IE8中,我没有指定浏览器版本。您应该使用同样适用于IE8的mousedown事件 $("div").on("mousedown", function(e){
contextmenu
,它是使用上的jquery绑定的。我注意到e.which
和e.button
总是0
这有什么原因吗
$("div").on("contextmenu", function(e){
if(e.which) //Always 0
//do something
});
编辑:我的错误这只发生在IE8中,我没有指定浏览器版本。您应该使用同样适用于IE8的mousedown
事件
$("div").on("mousedown", function(e){
alert(e.which);
if(e.which == 3){
//do something
}
});
你期望它是什么?您想做什么?oncontextmenu
可以通过鼠标右键或键盘上的contextmenu按钮启动。实际上,只有一个按钮可以启动事件。所以0
在这种情况下是合适的。选中此项,它会在右键单击@AmitSoni时为我返回3
,你是对的。可能是OP的浏览器是旧版本。但它只能由一个按钮触发,因此检查哪个按钮(或模拟鼠标右键的按钮)触发对我来说似乎是多余的。@Madhu IE8当时使用了他们自己的规范。今天,他们返回标准化的按钮id。问题仍然存在,你为什么要检查这个?