Javascript:event.which / button在mouseup上返回错误的值

时间:2014-06-21 02:58:04

标签: javascript jquery mouseup

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

但是,如果按住左键单击,则右键单击,event.button在释放左键单击后始终返回2。这使得在释放两次点击之前无法确定首先发布了哪个点击。与event.which相同的问题。

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

编辑:我知道如何正常确定正在发布的密钥。问题是mouseup报告了错误的值。要重现此问题:

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

1 个答案:

答案 0 :(得分: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; 
  }); 
});