event.preventDefault() 在 Chrome 上对我有用,但在 Firefox 上不行,为什么?
event.preventDefault() works for me on Chrome but not Firefox, why?
在 Chrome 中,如果单击 window.confirm
中的取消按钮,则不会触发关闭日操作(由 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 脚本移到了文件的底部,尽管这也没有解决问题。
您需要将event
作为函数参数传递
function createAlert(event){
x = window.confirm("Are you sure?");
if(x === false){
event.preventDefault()
}
}
在 Chrome 中,如果单击 window.confirm
中的取消按钮,则不会触发关闭日操作(由 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 脚本移到了文件的底部,尽管这也没有解决问题。
您需要将event
作为函数参数传递
function createAlert(event){
x = window.confirm("Are you sure?");
if(x === false){
event.preventDefault()
}
}