Javascript event.preventDefault()适用于我的Chrome浏览器,但不适用于Firefox,为什么?
在Chrome中,如果单击window.confirm中的cancel按钮,则不会触发close day操作(由go后端支持)。但是,在Firefox中,即使单击“取消”,也会触发该事件。这两种浏览器都支持event.preventDefault,所以我不明白为什么它在Chrome中工作,而在Firefox中不工作 我的JavascriptJavascript 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);
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()
}
}
事件
不是所有浏览器中的全局事件