Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript preventDefault()在Safari中不起作用_Javascript_Safari - Fatal编程技术网

Javascript preventDefault()在Safari中不起作用

Javascript preventDefault()在Safari中不起作用,javascript,safari,Javascript,Safari,我正在使用javascript开发一个应用程序,我想获取鼠标事件。要停止右键单击时出现的选项,我使用preventDefault()函数,它在Firefox和Chrome中工作,但在Safari中不工作。这是我的代码: document.querySelector("#GL-Surface").addEventListener("mousedown", function(e) { e.preventDefault(); /* Handle mouse events */ });

我正在使用javascript开发一个应用程序,我想获取鼠标事件。要停止右键单击时出现的选项,我使用
preventDefault()
函数,它在Firefox和Chrome中工作,但在Safari中不工作。这是我的代码:

document.querySelector("#GL-Surface").addEventListener("mousedown", function(e) {
    e.preventDefault();

    /* Handle mouse events */
});

从另一个问题中,我得到了你应该
返回false但这仍然不起作用
preventDefault()
但是,当Safari用于键盘输入时,它可以在Safari中工作。那么,如何防止Safari中鼠标事件的默认操作呢?

要以右键单击事件为目标,请使用
contextmenu
而不是
mousedown

document.querySelector("#GL-Surface").addEventListener("contextmenu", function(e) {
    e.preventDefault();
});

请注意,右键单击上显示的选项只有在释放右键单击按钮时才会显示,因此我认为
鼠标向下
在这里根本不合适。

嘿,你能试试
e.stopPropagation()
e.stoppimediatepropagation()
:)@HalilÇakar这两个命令都不起作用,是的,@Wais Kamal的结果可能对右键单击事件是正确的。这里还有一个来自stackoverflow的