Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery contextmenu事件始终将e.which返回为0_Javascript_Jquery_Events_Contextmenu - Fatal编程技术网

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。问题仍然存在,你为什么要检查这个?