检测父点击按钮使用javascript
问题描述:
我有两个按钮的页面,一个按钮将打开下一个功能一个弹出窗口:检测父点击按钮使用javascript
function MM_openBrWindow(theURL,winName,features) { //v2.0
my_window=window.open(theURL,winName,features);
}
,我需要从窗口(MY-WINDOW14),以检测当第二个按钮在父页面中单击并引发警报。
我该怎么做?
在此先感谢。
卡洛斯
答
你会在父窗口中的第二个按钮的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");
}
答
你需要使用window.opener把代码中的子窗口中,像这样的:
function registerWithParent() {
window.opener.registerCallback(myCallback);
}
你可以打电话比身体onload事件。
<body onload="registerWithParent()">
然后你有这样的父窗口的JS代码:
var theCallback;
function registerCallback(fn) {
theCallback = fn;
}
那么你的父HTML是这样的:
您好,感谢,但我需要的是,子窗口检测到父按钮被点击后,警报只是看它是否工作。 谢谢 – notforever 2010-08-25 21:43:11
@notforever:是的,我知道。你需要一个点击处理器,不管它在哪里定义。在那个点击处理中,你可以在你的'my_window'引用中调用一个函数让其他窗口“知道”该按钮已经被点击。 – 2010-08-25 21:49:14
对不起,我是一个新手,你可以给我一个例子,我不知道如何从我的窗口引用父按钮。谢谢 – notforever 2010-08-25 21:54:44