我有一个取消按钮,它执行 ajax,然后刷新页面内容,当导航离开时,我想触发该按钮,但我不希望它刷新 UI 中的任何内容。
我想过使用一个全局变量,放置在 window 对象中,但这似乎不太好:
$(".cancel").bind("click", function(e) {
e.preventDefault();
tellTheServerThatUserCanceled(); // ajax call
if (!isUnloading) refreshUI();
});
$(window).bind("unload", function(e) {
isUnloading = true; // this is disgusting, I don't want to do this
$(".cancel").trigger("click");
}
有没有官方的方式,或者其他更优雅的方式,或者我不应该担心使用全局变量?
编辑:
事件unload
代码不知道它必须做什么,因为页面可以有多个编辑面板,有多个取消按钮。它只知道它必须触发每个面板的取消按钮。