我的 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/