window.opener不会改变

时间:2013-01-16 01:03:57

标签: javascript asp.net

我正在使用javascript打开一个弹出窗口。

弹出窗口包含的代码在关闭时会修改开启窗口上的某些值。

像这样......

  

window.opener.jQuery( '#txtFee')的触发器( '变化');

当仅使用一个窗口时,此逻辑很有效。但是有一个错误......

有两个窗口可以打开此弹出窗口。如果我从一个窗口打开弹出窗口并打开弹出窗口,然后我从另一个窗口打开弹出窗口,弹出窗口就会刷新,但window.opener仍然引用我用来打开弹出窗口的第一个窗口。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

在打开弹出窗口的两个窗口中,您可以将onbeforeunload和/或onunload事件绑定到弹出窗口。

var popWindow = window.open(url, name, options, replace);
popWindow.focus();

popWindow.onbeforeunload = function()
{
    $('#txtFee').trigger('change'); //DO WHATEVER YOU WANT HERE
    console.log("onbeforeunload fired from ", popWindow.name);
}

popWindow.onunload = function()
{
    console.log("onunload fired from ", popWindow.name);
}