Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.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 event.preventDefault()适用于我的Chrome浏览器,但不适用于Firefox,为什么?_Javascript_Html_Javascript Events_Prompt - Fatal编程技术网

Javascript event.preventDefault()适用于我的Chrome浏览器,但不适用于Firefox,为什么?

Javascript event.preventDefault()适用于我的Chrome浏览器,但不适用于Firefox,为什么?,javascript,html,javascript-events,prompt,Javascript,Html,Javascript Events,Prompt,在Chrome中,如果单击window.confirm中的cancel按钮,则不会触发close day操作(由go后端支持)。但是,在Firefox中,即使单击“取消”,也会触发该事件。这两种浏览器都支持event.preventDefault,所以我不明白为什么它在Chrome中工作,而在Firefox中不工作 我的Javascript document.getElementById("closeDay").addEventListener("click", createAlert);

在Chrome中,如果单击window.confirm中的cancel按钮,则不会触发close day操作(由go后端支持)。但是,在Firefox中,即使单击“取消”,也会触发该事件。这两种浏览器都支持event.preventDefault,所以我不明白为什么它在Chrome中工作,而在Firefox中不工作

我的Javascript

document.getElementById("closeDay").addEventListener("click", createAlert);
    function createAlert(){
            x = window.confirm("Are you sure?");
            if(x === false){
                    event.preventDefault()
            }
    }
我的Html

<form method="POST" action="/closeDay" id="closeDay">
    <input type="submit" value="Close Day" />
</form>


我尝试过将id从表单移动到输入,但这没有什么区别。我还将我的js脚本移到了文件的底部以防万一,不过这也没有解决问题。

您需要将
事件作为函数参数传递

function createAlert(event){
  x = window.confirm("Are you sure?");
  if(x === false){
  event.preventDefault()
  }
}

事件
不是所有浏览器中的全局事件