2015-10-13 75 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