1

我有一个主窗口和一些子窗口。我的子窗口是由后面的代码创建的。

 var newWindow = window.open(url, windowName, windowFeatures);

我还需要添加

 newWindow.document.onfocusout = this.windowOnUnload;

事件给孩子。我的问题是,当我需要对此页面执行 POST 操作时,我再次使用上述相同的代码重新创建此子窗口。但是 onfocusout 事件没有触发。但第一次它会火。此外,我正在创建的子窗口始终具有相同的窗口名称。请帮我找到解决方案。谢谢

在此处输入图像描述

4

1 回答 1

1

当您重新创建窗口时,您的意思是使用 ajax 调用更新其内容吗?或者你真的关闭它然后再次调用window。打开,最后连接 onfocusout 事件?

如果是前者,那么您将需要将事件重新连接到使用 AJAX 调用获得的新文档,因为整个文档都已更改,并且先前文档对象的先前事件处理程序不再相关。

更新:您可以发布您正在使用的所有相关代码吗?这是我能提供最好帮助的方式。

newWindow.document.onfocusout = this.windowOnUnload;似乎不是做你需要的正确方法。我很惊讶它和你一起工作。检查这个问题:有没有办法检测浏览器窗口当前是否处于活动状态?

于 2013-07-10T04:20:12.793 回答