Javascript 为什么可以';我不能使用addEventListener停止contextmenu事件吗?
我想禁止鼠标右键。但我发现,如果我写这篇文章:Javascript 为什么可以';我不能使用addEventListener停止contextmenu事件吗?,javascript,javascript-events,Javascript,Javascript Events,我想禁止鼠标右键。但我发现,如果我写这篇文章: document.addEventListener('contextmenu', function(event) { return false; }, false); 它将不起作用,事件仍将起作用 但是如果我这样写的话 document.oncontextmenu = function() { return false; } 鼠标右键不起作用 我想知道为什么我不能使用addEventListener来停止事件contextmen
document.addEventListener('contextmenu', function(event) {
return false;
}, false);
它将不起作用,事件仍将起作用
但是如果我这样写的话
document.oncontextmenu = function() {
return false;
}
鼠标右键不起作用
我想知道为什么我不能使用addEventListener
来停止事件contextmenu
如“”中所述,返回false
值不足以阻止默认操作。您需要调用Event
对象上的preventDefault()
方法:
document.addEventListener('contextmenu', function(event) {
event.preventDefault();
}, true);
我认为您需要
使用capture
,尝试将true作为第三个参数传递给
document.addEventListener()
看看这是否能解决问题。什么是上下文菜单?并非所有浏览器都允许您在整个页面上禁用上下文菜单。为什么这样,我们使用event.perventDefault(),而不是返回false?@qiuyuntao不确定原因,但事实是oncontextmenu
是doElement的一个属性,但是,addEventListener
是一种方法。也许浏览器的js引擎以不同的方式处理它们。