当用户确认时触发javascript函数';留下第'页;

当用户确认时触发javascript函数';留下第'页;,javascript,jquery,Javascript,Jquery,当用户试图离开页面时,我使用下面的代码启动confirmExit()函数: window.onbeforeunload = confirmExit; function confirmExit(){ return "Are you sure you want to exit this page?"; } 此外: 该页面还启动AJAX函数“动态”更新数据库。因此,当用户离开页面时,我需要删除所有“动态”数据 当用户单击“离开页面”按钮时,是否可以调用javascript函数?您可以尝试使用

当用户试图离开页面时,我使用下面的代码启动
confirmExit()
函数:

window.onbeforeunload = confirmExit;
function confirmExit(){
    return "Are you sure you want to exit this page?";
}
此外:

该页面还启动AJAX函数“动态”更新数据库。因此,当用户离开页面时,我需要删除所有“动态”数据

当用户单击“离开页面”按钮时,是否可以调用javascript函数?

您可以尝试使用:

窗口。只有当用户单击“离开此页面”按钮时,才会触发onunload

如果您想在用户单击“取消”时执行某些操作,您可以尝试以下方法:

window.onbeforeunload = function () {
    setTimeout(function () {
        setTimeout(function () {
            console.log("Great decision!");
        }, 200);
    }, 1);
    return "Are you sure?";
}
第一个将代码放入事件队列。它将在确认框关闭后立即触发。如果页面未过早关闭,则一段时间后将触发第二个
setTimeout


对于那些正在进行XHR
onunload
:请确保在页面关闭之前使用同步方法完成请求。例如,在
jQuery.ajax
中使用
async:false
,或者在普通js中使用
XMLHttpRequest.open(方法、url、false)

你看过这个讨论吗@先知你试过我的建议了吗?也许我需要进一步澄清一下?
window.onbeforeunload = function () {
    setTimeout(function () {
        setTimeout(function () {
            console.log("Great decision!");
        }, 200);
    }, 1);
    return "Are you sure?";
}