Javascript preventDefault() 在 Safari 中不工作
Javascript preventDefault() not working in Safari
我正在使用 javascript 开发一个应用程序,我想获取鼠标事件。要停止右键单击时出现的选项,我使用 preventDefault()
函数,它在 Firefox 和 Chrome 中有效,但在 Safari 中无效。这是我的代码:
document.querySelector("#GL-Surface").addEventListener("mousedown", function(e) {
e.preventDefault();
/* Handle mouse events */
});
从另一个问题中我得知你应该 return false;
但这仍然不起作用。 preventDefault()
然而,当它用于键盘输入时,它在 Safari 中有效。那么如何才能阻止 Safari 中鼠标事件的默认操作呢?
要定位右键单击事件,请使用 contextmenu
而不是 mousedown
。
document.querySelector("#GL-Surface").addEventListener("contextmenu", function(e) {
e.preventDefault();
});
请注意,右键出现的选项只有在释放右键时才会出现,所以我认为mousedown
在这里完全不合适。
我正在使用 javascript 开发一个应用程序,我想获取鼠标事件。要停止右键单击时出现的选项,我使用 preventDefault()
函数,它在 Firefox 和 Chrome 中有效,但在 Safari 中无效。这是我的代码:
document.querySelector("#GL-Surface").addEventListener("mousedown", function(e) {
e.preventDefault();
/* Handle mouse events */
});
从另一个问题中我得知你应该 return false;
但这仍然不起作用。 preventDefault()
然而,当它用于键盘输入时,它在 Safari 中有效。那么如何才能阻止 Safari 中鼠标事件的默认操作呢?
要定位右键单击事件,请使用 contextmenu
而不是 mousedown
。
document.querySelector("#GL-Surface").addEventListener("contextmenu", function(e) {
e.preventDefault();
});
请注意,右键出现的选项只有在释放右键时才会出现,所以我认为mousedown
在这里完全不合适。