event.button在Chrome中无法正常运行

时间:2015-10-30 09:17:23

标签: javascript jquery mouseevent

我使用JQuery事件对象的按钮属性来获取在mouseout事件期间是否单击鼠标左键:

$("#foo").on("mouseout", function(event){
   if (event.button === "0"){
      // do code
   }
});

根据规范按钮属性获取字符串值" 0"如果单击左键,则得到值" -1"如果没有按钮。

我的问题是在Chrome中(我还没有在其他浏览器上尝试过)我得到了值#34; 0"是否单击了左键或没有单击任何按钮。如果我单击右键,我会得到正确的值(" 2"),如规范中所示。因此,如果没有单击任何按钮,我只会遇到问题(它应该给出" -1"值,但它给出" 0"值。)

你有任何线索吗?

我知道有一个按钮(复数!)属性二,但我使用TypeScript,它无法识别JQueryEventObject类的这个属性。但是在JavaScript按钮中,属性对我来说很有效。

1 个答案:

答案 0 :(得分:0)

我正在使用JQuery事件对象的button属性来判断在mouseout事件期间是否单击了鼠标左键。

但是您使用的鼠标事件不在列表 mouseout 中,但docs @ MDN说:

  

MouseEvent接口表示由于用户与指点设备(如鼠标)交互而发生的事件。使用此界面的常见事件包括单击,dblclick,mouseup,mousedown