在javascript中禁用右键单击

在javascript中禁用右键单击,javascript,onclick,mouseevent,Javascript,Onclick,Mouseevent,当我试图禁用右键单击时,它不起作用。 我尝试了以下代码 document.onclick = function(e) { console.log(e.button); if(e.button == 2){ e.preventDefault(); return false; } } 基于以下链接,我只尝试了。 我在Chrome和Firefox中测试了这段代码。 每次我只在控制台中获得正确的输出。我的意思是“0”表示左键单击,“2”表示右键单击。但默认操作仍在进行。我

当我试图禁用右键单击时,它不起作用。 我尝试了以下代码

document.onclick = function(e) {
  console.log(e.button);
  if(e.button == 2){
    e.preventDefault();
    return false;
  }
}
基于以下链接,我只尝试了。

我在Chrome和Firefox中测试了这段代码。 每次我只在控制台中获得正确的输出。我的意思是“0”表示左键单击,“2”表示右键单击。但默认操作仍在进行。我可以知道原因吗。?
提前感谢。

您使用了错误的事件。要右键单击,应使用
oncontextmenu
。您使用了
onclick
,它显然不会在右键单击时触发,因此在本例中循环的计算结果不会为true

document.oncontextmenu = function (e) {
    console.log(e.button);
    if (e.button == 2) {
        e.preventDefault();
        return false;
    }

}

演示:

只有三行代码可以禁用右键单击网页,如下所示:

$("html").on("contextmenu",function(e){
   return false;
});
资料来源: