2017-01-18 203 views
-1

在Chrome中,如果单击window.confirm中的取消按钮,则不会触发关闭日动作(由后端支持)。但是,在Firefox中,即使单击取消,也会触发事件。这两个浏览器都支持event.preventDefault,所以我不明白它为什么在Chrome中可用,但不是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脚本移到了文件的底部,尽管这还没有解决问题。

+0

'event'是不是在所有的浏览器 – charlietfl

+0

明白了,非常感谢全球。 – Alonishka

回答

0

您需要通过event作为函数parameeter

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