我有一个主窗口和一些子窗口。我的子窗口是由后台代码创建的。
var newWindow = window.open(url, windowName, windowFeatures);另外,我还需要添加
newWindow.document.onfocusout = this.windowOnUnload;事件传递给孩子。我的问题是,当我需要对这个页面执行POST操作时,我会再次使用上面所述的代码重新创建这个子窗口。但是onfocusout事件并没有触发。但第一次它就会发射。另外,我正在创建子窗口总是使用相同的窗口名称。请帮我找到一个解决方案。谢谢

发布于 2013-07-10 12:20:13
当您重新创建窗口时,您的意思是用ajax调用更新它的内容吗?还是直接关闭它,然后再次调用window。打开,最后连接onfocusout事件?
如果是前者,那么您将需要将事件重新连接到使用AJAX调用获得的新文档,因为整个文档都已更改,并且先前document对象的先前事件处理程序不再相关。
更新:你能发布你正在使用的所有相关代码吗?这就是我能提供的最好的帮助。
newWindow.document.onfocusout = this.windowOnUnload;似乎不是做你需要的事情的正确方式。我很惊讶它能和你一起工作。检查这个问题:Is there a way to detect if a browser window is not currently active?
https://stackoverflow.com/questions/17562318
复制相似问题