我正在处理一个包含一些我无法修改的 JS 的页面,这些 JS 被加载到页面上,当一个元素被右键单击时会触发一个函数。所以,我知道如何捕获对页面上元素的右键单击,但是有没有一种方法可以让我专门解除对所有右键单击和仅对元素的右键单击的绑定(bind)?
很明显,如果像 $(selector).unbind('rightclick)
这样的东西能工作,那就太棒了,但它当然没有。
任何帮助将不胜感激。
编辑
一些澄清...我不希望阻止在右键单击元素时出现默认的右键单击浏览器菜单。我只是想删除所有在元素被右键单击时必然会触发的东西。当我针对所有点击执行此操作时,它工作正常并且出现了默认菜单。唯一的问题是我还取消了所有左键单击事件的绑定(bind),这是我试图避免的。
基本上,我试图取消绑定(bind)的这个事件会阻止上下文菜单出现。所以我试图解除绑定(bind),甚至为了展示它。
最佳答案
<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>
关于javascript - 如何仅在 jQuery 中取消绑定(bind)右键单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6456875/