Javascript 防止 Default() 在 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在这里根本不合适。

最新更新