在JavaScript中禁用右键单击

时间:2015-06-21 13:48:07

标签: javascript onclick mouseevent

当我尝试禁用右键单击时,它无效。 我尝试使用下面的代码。

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

基于以下链接,我试过了。 Disable Right Click in website

我在Chrome和Firefox中测试了此代码。 每次我只在控制台中获得正确的输出。我是说" 0"左键单击和" 2"右键单击。但仍然发生默认操作。我可以知道原因吗? 提前谢谢。

2 个答案:

答案 0 :(得分:6)

您使用的是错误的事件。要进行右键单击,您应该使用oncontextmenu。您使用onclick显然不会在右键单击时触发,因此在这种情况下循环不会评估为真。

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

}

演示:http://jsfiddle.net/GCu2D/748/

答案 1 :(得分:0)

只有三行代码可以禁用右键单击下面给出的网页:

$("html").on("contextmenu",function(e){
   return false;
});

来源:Close current tab in browser window using JavaScript