0

当在 mouseup jQuery 事件上调用 event.button 时,它通常返回 0 左键单击和 2 右键单击​​。

但是,如果按住左键,然后右键单击,event.button 在释放左键后总是返回 2。这使得在两个点击都被释放之前,无法确定哪个点击首先被释放。event.which 也有同样的问题。

有人有解决方法吗?似乎找不到有关此错误的任何报告。

编辑:我知道如何通常确定正在释放哪个键。问题是 mouseup 报告了错误的值。要重现此问题:

按住左键单击。按住右键单击。松开左键。这会触发 mouseup 事件。调用 event.button 期望:0,实际:2

4

1 回答 1

0

我认为您使用:

<script type="text/javascript">
$(document).ready(function(){ 
  $(document).mousedown(function(e){ 
    if( e.button == 2 ) { 
      alert('Right mouse click.'); 
      return false; 
    }
    if(e.button == 0) {
        alert('Left mouse click.');
        return false;
    }
    return true; 
  }); 
});

于 2014-06-21T03:15:31.327 回答