我有一个带有两个按钮的页面,一个按钮打开一个带有下一个功能的弹出窗口:
function MM_openBrWindow(theURL,winName,features) { //v2.0
my_window=window.open(theURL,winName,features);
}
当我点击父页面中的第二个按钮并提出警报时,我需要从该窗口(my_window)进行检测。
我该怎么做?
提前致谢。
卡洛斯
答案 0 :(得分:0)
您可以在父窗口中的第二个按钮的click事件中执行my_window.alert("hey")
。如果要从子窗口访问父窗口(例如,添加事件),请在子窗口中使用window.opener
。
button2.onclick = function (e) {
my_window.buttonTwoHasBeenClicked(); // this is defined in the child window.. once executed it means the button has been clicked.
}
如果要在子窗口中定义事件:
// put this in your child window javascript source
// also change "button2" to whatever your second button's ID is.
window.opener.getElementById("button2").onclick = function () {
alert("button has been clicked on parent window");
}
答案 1 :(得分:0)
您需要使用window.opener将代码放在子窗口上,如下所示:
function registerWithParent() {
window.opener.registerCallback(myCallback);
}
你可以打电话给身体onload事件。
<body onload="registerWithParent()">
然后你在父窗口上有这样的JS代码:
var theCallback;
function registerCallback(fn) {
theCallback = fn;
}
然后您父母的HTML就像:
<input type="button" onclick="theCallback()" value="The 2nd button">