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

时间:2014-04-18 12:00:33

标签: javascript javascript-events

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

document.addEventListener('contextmenu', function(event) {
    return false;
}, false);

它不起作用,事件仍然有效。

但如果我这样写,

document.oncontextmenu = function() {
    return false;
}

鼠标右键不起作用。

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

2 个答案:

答案 0 :(得分:4)

如" Preventing the Browser's Default Action"中所述,false值的返回不足以阻止默认操作。您需要在preventDefault()对象上调用Event方法:

document.addEventListener('contextmenu', function(event) {
   event.preventDefault();
}, true); 

DEMO

答案 1 :(得分:0)

我相信你需要useCapture,尝试将true作为第三个参数传递给 document.addEventListener()并查看是否为您解决此问题。