Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery禁用html页面中的右键单击菜单_Jquery_Html - Fatal编程技术网

如何使用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(); });

我正在寻找一种简单的方法来隐藏/禁用整个html页面的右键单击上下文菜单,但不在一些可编辑的html元素中,就像使用jquery的input[text]和textarea

我知道这个jquery代码,但下面的代码将在所有html元素中禁用上下文菜单,即使在可编辑对象中也是如此

$(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();
     });
 });