【发布时间】:2011-11-23 22:12:09
【问题描述】:
我想保存一个卸载事件以便稍后执行。例如:
// on unload do nothing but safe the event
jQuery(window).unload(function() {
// TODO safe the unload event here somehow
// unloadEvent = this;
return false;
});
稍后,另一段代码应该可以执行之前保存的事件,例如这样:
function finallyUnload() {
// TODO
// unloadEvent.perform();
}
有什么办法吗?
更新
我的浏览器窗口正在与 Java Selenium 应用程序通信,需要等到它收到有关卸载事件及其发生方式的信息。在这种情况下,可以执行卸载事件。
我知道卸载事件不能延迟或停止,所以我有了另一个想法。如何拦截所有对带有 href 和按钮的链接的点击,以及表单的提交。然后我手动将window.location 设置为所需的 URL 或提交表单。这行得通吗?
【问题讨论】:
-
I want to save an unload event to execute it later on。你能定义later on吗?在unload事件之后,您的页面上执行的 JavaScript 并不多。嗯,实际上可能有,但不在用户离开的同一页面上。 -
您不能取消
unload事件,期间。 -
@Darin:我的浏览器窗口正在与 Java Selenium 应用程序通信,需要等到它收到有关卸载事件及其发生方式的信息。在这种情况下,可以执行卸载事件。
-
@SLaks:我不想取消,我想推迟
-
你也不能这样做。
return false不会做任何事情。
标签: java jquery selenium event-handling