如果单击一次,取消绑定右键单击

时间:2015-10-13 13:01:21

标签: javascript jquery

我想解开右键单击,如果点击它后解除左键单击后应该工作我用来点击的代码是

<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>

2 个答案:

答案 0 :(得分:1)

[使用原始的未经编辑的代码]您可以在右键单击flag内移动if个检查:

    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
  • 对mousedown没有限制

你的措辞有点令人困惑,但看起来你确实想要

  • 没有留下mousedown直到右边mousedown
  • 一个mousedown然后禁用右侧moused并启用左侧mousedown / click

您可以使用类似的代码

执行此操作
    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 与点击相同。

点击是在短时间内mousedown mouseup。如果您习惯于点击(向下+向上),那么当您只是在mousedown时发生的事情将会令人困惑并且可能会令人讨厌。

因此,使用Kriggs建议,您可以在mousedown上使用.one,但如果它不是右键,则需要重新绑定,因此请使用.on和{{ 1}}然后在以下后绑定点击:

.off

这会给你:

  • 没有左键单击,直到右侧mousedown
  • 一个正确的mousedown然后没有更多的mousedown
  • 在右边mousedown后左键单击

答案 1 :(得分:0)

使用.one以及mousedown,将onclick添加到.one的函数内。

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