disable right click in javascript

2019-06-23 18:10发布

When I was trying to disable the right click, it is not working. I tried with below code.

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

Based on below link only I tried. Disable Right Click in website

I tested this code in Chrome and Firefox. Every time I am getting the right output only in console. I mean "0" for left click and "2" for right click.But still the default action is happening. May I know the reason.? Thanks in advance.

2条回答
不美不萌又怎样
2楼-- · 2019-06-23 18:12

Only three lines of code can disable right click on a web page that is given below:

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

Source: Close current tab in browser window using JavaScript

查看更多
Emotional °昔
3楼-- · 2019-06-23 18:15

You are using wrong event. For right click you should use oncontextmenu. You used onclick which obviously don't fire in right click and hence the loop doesn't evaluate to true in this case.

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

}

Demo: http://jsfiddle.net/GCu2D/748/

查看更多
登录 后发表回答