为什么不能使用addEventListener停止contextmenu事件?

qiu*_*tao 7 javascript javascript-events

我想禁止鼠标右键。但是我发现如果我这样写:

document.addEventListener('contextmenu', function(event) {
    return false;
}, false);
Run Code Online (Sandbox Code Playgroud)

它将不起作用,该事件仍将起作用。

但是如果我这样写

document.oncontextmenu = function() {
    return false;
}
Run Code Online (Sandbox Code Playgroud)

鼠标右键将不起作用。

我想知道为什么我无法addEventListener停止活动contextmenu

Eng*_*eer 7

如“ 阻止浏览器的默认操作 ”中所述,返回false值不足以阻止默认操作。您需要preventDefault()Event对象上调用方法:

document.addEventListener('contextmenu', function(event) {
   event.preventDefault();
}, true); 
Run Code Online (Sandbox Code Playgroud)

演示