2015-10-13 35 views
0

我想拆散右键如果后解除绑定左击应该工作我用一下代码,点击一次就拆散右键点击,如果点击一次

<script> 

$(document).ready(function(){ 
     document.oncontextmenu =function(){return false;}; 


     $(document).mousedown(function(e){ 

      //alert(e.button); 
      if(e.button == 0){ 
       alert('right click'); 
      } 
      if(e.button == 2){ 
       alert('Left click'); 

      } 

     }); 

     }); 
</script> 

回答

1

[使用原始未经编辑的代码]你可以移动鼠标右键单击ifflag检查:

flag=0; 
    $(document).mousedown(function(e){ 
     if(e.button == 0){ 
     if(flag==0){ 
      alert('right click'); 
      flag=1; 
     } 
     } 
     if(e.button == 2){ 
     alert('Left click'); 
     } 
    }); 

这会给你一个

  • 唯一正确的鼠标按下
  • 没有限制在左mousedown

位从您的措辞混淆,但看起来你真的想

  • 没有左鼠标按下直到右鼠标按下
  • 一个合适的鼠标按下然后禁用右键鼠标按下,使左鼠标按下/点击

你可以用类似的代码做到这一点

flag=0; 
    $(document).mousedown(function(e){ 
     if (flag==0) { 
     if(e.button == 0){ 
      alert('right click'); 
      flag=1; 
     } 
     } 
     else { 
     if(e.button == 2){ 
      alert('Left click'); 
     } 
     } 
    }); 

话虽如此,mousedown同一次点击。

在短时间内点击鼠标即可获得鼠标。如果你习惯于点击(向下+向上),那么当你只是被捣毁时发生的事情会令人困惑,并且可能会令人讨厌。

因此,使用Kriggs建议,你可以在鼠标按下使用.one,但你需要重新绑定,如果它是不正确的鼠标,所以使用.on.off然后单击绑定后:

$(document).on("mousedown", function() { 
    if (e.button==0) { 
     $(document).off("mousedown") 
     $(document).click(function() { 
      alert("left click"); 
     }); 
    } 
}); 

这使您:

  • 没有左一下,待右鼠标按下
  • 一个合适的鼠标按下再没有更多的鼠标按下
  • 右点击后左键单击
0

使用.one,与mousedown一起,追加onclick里面的功能.one

http://api.jquery.com/one/

+0

如果我使用'.one',以及'mousedown'。我的左键点击工作? – Raman