确认删除在Chrome中有效,在Firefox

时间:2017-03-09 20:42:29

标签: javascript laravel firefox

我的网络应用程序中有一些JavaScript:

<script>

document.getElementById("revDel").onclick = function() {myFunction()};

function myFunction() {

if (confirm("Confirm delete!")) {

}

else {

event.preventDefault();
}

}

</script>

它适用于Chrome&amp; IE浏览器;当用户尝试删除特定记录时,会弹出一个提示,如果他们选择&#34; OK&#34;记录被删除但如果他们点击&#34;取消&#34;删除操作已暂停。

不幸的是,这不适用于Firefox;当用户点击删除时,无论他们点击什么选项,记录都会被删除。

以前有没有人遇到过这个问题,你是怎么解决这个问题的?

2 个答案:

答案 0 :(得分:2)

此处的问题是您没有将事件参数传递给回调函数。

当您的.onclick事件触发时,它会创建一个事件对象,然后可以选择将其传递给您的回调函数,如下所示:

document.getElementById("revDel").onclick = function(e) {myFunction(e)};
    function myFunction(e) {
        if (confirm("Confirm delete!")) {...}
        else {
            e.preventDefault();
        }
    }

其中e是事件对象,因此包含preventDefault()方法。

您需要做的就是将事件对象作为参数传递给回调函数。

答案 1 :(得分:-1)

尝试return false而不是event.preventDefault();