2011-03-11 186 views
0

我已经试过几乎所有的东西来使这个工作。最好从代码摘录中解释。调用函数传递给子窗口,相对于子窗口

function loadWindow() { 

var newWin = window.open("","win_1","");   
newWin.newObject = new tableObject(function(){window.document.write('test');}); 
newWin.document.close(); 
} 

有代码编写,没有显示,使其更具可读性,但它写入更多的HTML到子页面。

它在第二页中写入的部分是onMouseDown='newObject.next();',它由构造函数function tableObject(nextClick) {this.next = nextClick}传递给tableObject。

当我调用该函数时,它会导致错误,但会将测试写入父窗口,而不是孩子。

我想写给孩子,不会导致任何错误: - /。

我一直在为此工作几天,并会非常感谢任何帮助。如果您需要更多可见的代码,请告诉我。

回答

0

我想我解决了这个问题并想解释解决方案。匿名函数调用的原因是window.document.write(“”);相对于父窗口而言,becuase在所有自由变量被分配给该对象时被关闭。所以当我在孩子中调用它时,它会引用父窗口而不是孩子。