gpt4 book ai didi

javascript - 如何为单页应用程序实现 isDirty 标志 onLeave?

转载 作者:行者123 更新时间:2023-12-02 19:38:50 25 4
gpt4 key购买 nike

我有一个用 MVC4 编写的单页应用程序,它使用 pjax()将 html 推送到我页面中的各个 s 中。我有一个子表单,允许用户编辑数据,如果用户更改数据,则会在 javascript 中设置 isDirty 标志,以触发页面底部有未保存的更新的警报。当用户尝试离开页面而不保存时,我还想实现额外的警告。如果我使用像这样的传统 onbeforeunload 函数

window.onbeforeunload = function() {
if (isDirty) {
return 'You have unsaved changes!';
}
return null;
};

如果我尝试关闭页面或完全离开该网站,它会调用警报,但如果用户单击我的链接之一,用一些不同的信息重新填充它,它不会触发,因为您实际上并没有离开这一页。我如何构建它,以便这些 pjax() 链接之一会引发类似于关闭页面时的警报?

最佳答案

您可以订阅在 pjax 请求之前触发的全局事件:

$(document).on('pjax:beforeSend', function() { 
if (isDirty) {
return confirm('You have unsaved changes! Are you sure you want to continue?');
}
return true;
});

关于javascript - 如何为单页应用程序实现 isDirty 标志 onLeave?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10655460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com