【发布时间】:2012-12-04 04:45:23
【问题描述】:
好吧,据我所知,目前我们有两种方法
首先是一些我可以在给定脚本中使用的 javascript。但这会关闭所有内容的右键单击。
window.oncontextmenu = function() {
return false;
};
或者在html中可以编码
<body oncontextmenu="return false;">
但到目前为止,我找不到任何可以为我提供 javascript 或 jquery 解决方案的地方,我可以将其应用于给定的选择器。这根本不可能还是我误解了什么。
我发现单击鼠标右键会立即出现我的子菜单,然后是浏览器的默认菜单。我发现抑制这种情况的唯一方法是将 oncontextmenu 设置为 false。有没有更精细的解决方案?
对已接受答案的进一步说明
使用委托也成功应用于动态菜单:
$(document).on("contextmenu", "#existing_Flavours .field_Input_Left.flavour", function(){
return false; // suppress browsers default right click menu
});
【问题讨论】:
-
Don't do it。这很烦人,您的用户将 A) 不再访问您的网站或 B) 通过脚本拦截器和/或手动绕过它。
-
这是一模一样的副本。 stackoverflow.com/questions/706655/…
-
好吧,我不能说我完全理解为什么会这样。但我相信你是对的。但肯定有一种方法可以阻止默认菜单出现在使用右键单击的位置。 @jbabey
-
@Andrew - 关于您引用的问题,接受的答案是错误。 jQuery 现在支持
contextmenu。 -
@ahren 他们都是对的,两个答案都在那个问题中,这与这个问题完全相同。
标签: javascript jquery