使用javascript检测父点击按钮

时间:2010-08-25 21:35:57

标签: javascript javascript-events

我有一个带有两个按钮的页面,一个按钮打开一个带有下一个功能的弹出窗口:

function MM_openBrWindow(theURL,winName,features) { //v2.0
  my_window=window.open(theURL,winName,features);
}

当我点击父页面中的第二个按钮并提出警报时,我需要从该窗口(my_window)进行检测。

我该怎么做?

提前致谢。

卡洛斯

2 个答案:

答案 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">