如何使用jquery禁用html页面中的右键单击菜单
我正在寻找一种简单的方法来隐藏/禁用整个html页面的右键单击上下文菜单,但不在一些可编辑的html元素中,就像使用jquery的input[text]和textarea 我知道这个jquery代码,但下面的代码将在所有html元素中禁用上下文菜单,即使在可编辑对象中也是如此如何使用jquery禁用html页面中的右键单击菜单,jquery,html,Jquery,Html,我正在寻找一种简单的方法来隐藏/禁用整个html页面的右键单击上下文菜单,但不在一些可编辑的html元素中,就像使用jquery的input[text]和textarea 我知道这个jquery代码,但下面的代码将在所有html元素中禁用上下文菜单,即使在可编辑对象中也是如此 $(document).ready(function(){ $(this).bind("contextmenu", function(e) { e.preventDefault(); });
$(document).ready(function(){
$(this).bind("contextmenu", function(e) {
e.preventDefault();
});
});
您可以使用此选项禁用特定标记(替换img)
感谢Peeter将其与您需要的所有元素绑定:
$(document).ready(function(){
$(document).bind("contextmenu",function(e){
e.preventDefault();//or return false;
});
});
试试这个代码
<input type="text" id="test1"/>
<input type="text" id="test2"/>
提供id或类名以指定要禁用的区域,例如:
$("#your_id").bind("contextmenu", function(e) {
e.preventDefault();
});
您可以像这样检查所需的标记:
$(document).ready(function(){
$(document).on("contextmenu",function(e){
if(e.target.nodeName != "INPUT" && e.target.nodeName != "TEXTAREA")
e.preventDefault();
});
});
至少要确定你的来源。编辑您的答案以包含此链接:并说答案是由Peeter提供的。我错过了它…现在完成了。您仔细阅读了我的问题吗@MJ.Ahmadi很抱歉误读了你的问题,但是如果通过禁用右键单击,你想阻止你的用户复制、剪切,我认为,尽管禁用右键单击,但您应该使用调用剪切复制和其他事件的jquery事件,因为用户还可以使用快捷键剪切复制并粘贴到文本框中。我也更新了我的答案。这正是我需要的,非常感谢。
$("#your_id").bind("contextmenu", function(e) {
e.preventDefault();
});
$(document).ready(function(){
$(document).on("contextmenu",function(e){
if(e.target.nodeName != "INPUT" && e.target.nodeName != "TEXTAREA")
e.preventDefault();
});
});