如何使用jquery在html页面中禁用右键菜单

时间:2014-05-30 06:26:43

标签: jquery html

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

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

$(document).ready(function(){
    $(this).bind("contextmenu", function(e) {
        e.preventDefault();
    });
});

5 个答案:

答案 0 :(得分:18)

你可以检查你需要的标签:

$(document).ready(function(){
    $(document).on("contextmenu",function(e){
        if(e.target.nodeName != "INPUT" && e.target.nodeName != "TEXTAREA")
             e.preventDefault();
     });
 });

答案 1 :(得分:3)

提供您的ID或类名,以指定您要禁用的区域,例如:

$("#your_id").bind("contextmenu", function(e) {
    e.preventDefault();
});

答案 2 :(得分:2)

您可以使用它来禁用特定标记(替换img)

$(document).ready(function() {
$("img").bind("contextmenu",function(){
   return false;
});});

感谢Peeter How to prevent Right Click option using jquery

答案 3 :(得分:1)

用于将其与您需要的所有元素绑定:

$(document).ready(function(){
  $(document).bind("contextmenu",function(e){
     e.preventDefault();//or return false;
 });
 });

答案 4 :(得分:0)

试试此代码

   <input type="text" id="test1"/>
<input type="text" id="test2"/>

JS代码:

$( "#test1" ).on( "copy cut paste drop", function() {
            return false;
    });

Jsfiddle