javascript - 确认删除在 Chrome 中有效,在 Firefox 中无效

标签 javascript laravel firefox

我的 Web 应用程序中有这段 JavaScript:

<script>

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

function myFunction() {

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

}

else {

event.preventDefault();
}

}

</script>

它在 Chrome 和 IE 中运行良好;当用户尝试删除特定记录时,会弹出提示,如果他们选择“确定”,则记录将被删除,但如果他们单击“取消”,则删除操作将停止。

不幸的是,这在 Firefox 上不起作用;当用户单击删除时,无论他们单击什么选项,记录都会被删除。

以前有人遇到过这个问题吗?您是如何解决这个问题的?

最佳答案

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

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

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

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

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

关于javascript - 确认删除在 Chrome 中有效,在 Firefox 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42705003/

相关文章:

javascript - Jquery 滚动到每个部分的顶部,按下按钮不起作用

javascript - 将选项 ID 值传递给 Controller ​​并通过 onclick 从另一个 Blade View 检索

node.js - 如何使用 AWS EBextensions 编译 Vue Js 组件?

javascript - 在 Firefox 中设置 top.location.hash 为 %20

javascript - 如何判断 DOM 元素在当前视口(viewport)中是否可见?

javascript - 三 Angular 指标问题

javascript - Promise 构造函数的静态方法

html - header 未在 Firefox 中修复

javascript - 根据类名修改 <span/> 文本 JAVASCRIPT - 无 jQUERY

php - 如何在 laravel 背包中指定 IN 子句?