如何仅在jQuery中取消绑定右键单击事件

时间:2011-06-23 15:45:11

标签: javascript jquery javascript-events

我正在处理一个页面,其中包含一些我无法修改的JS被加载到页面上,当右键单击一个元素时会触发一个函数。所以,我知道如何捕获页面上的元素的右键单击,但有没有办法让我专门取消绑定所有正确的点击,只有右键点击元素? 显然,如果$(selector).unbind('rightclick)之类的东西有效,那当然不会很棒。 任何帮助将不胜感激。 感谢。

修改

一些澄清......我不打算阻止右键单击元素时出现默认的右键单击浏览器菜单。我只是想在右键单击元素时删除所有绑定的东西。当我针对所有点击进行此操作时,它工作正常并显示默认菜单。唯一的问题是我也解除了所有左键单击事件的限制,这正是我想要避免的。

基本上,我试图取消绑定的这个事件会阻止上下文菜单出现。所以我试图解开它,甚至是为了展示它。

1 个答案:

答案 0 :(得分:1)

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>jQuery disable right click easily</title>
    <script language="javascript" type="text/javascript"
      src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js">
    </script>
    <script type="text/javascript" language="javascript">
        $(function() {
            $(this).bind("contextmenu", function(e) {
                e.preventDefault();
            });
        }); 
    </script>
</head>
<body>
    Sed lacus. Donec lectus. Nullam pretium nibh ut turpis.
    Nam bibendum. In nulla tortor, elementum vel, tempor at,
    varius non, purus. Mauris vitae nisl nec consectetuer.
    Donec ipsum. Proin imperdiet est. Phasellus dapibus semper
    urna. Pellentesque ornare, orci in consectetuer hendrerit,
    urna elit eleifend nunc, ut consectetuer nisl felis ac diam.
    Etiam non felis. Donec ut ante. In id eros.
</body>
</html>

请参阅referencedemo