Dav*_*ger 8 javascript jquery popupwindow
我有一个日历,当我点击一个时<td>,会出现一个弹出窗口,这样你就可以为你选择的日期创建你的evenement.我想添加一个功能.
当用户完成创建事件时,我想向父页面发送JavaScript请求,以便我可以使用AJAX刷新日历.基本上,我想调用子函数,但函数在父页面上.
在Google上,我只发现了一个可以刷新父窗口的脚本 - 没有关于"父回调"的内容.☹甚至可能吗?
PS答案可以是纯JS或jQuery,没关系.我会继续看着.
Mic*_*ary 13
您正在寻找的是window打开弹出窗口的参考.完成后,您可以在该窗口中调用函数,在该窗口中读取和写入变量,甚至可以操作其DOM.
该引用被称为opener.它为您提供window打开当前窗口的窗口的对象.例如,如果您在原始窗口中有一个函数,如下所示:
function updateMe( data ) {
alert( data );
}
Run Code Online (Sandbox Code Playgroud)
然后在弹出窗口中你可以像这样调用它:
opener.updateMe( 'Hello!' );
Run Code Online (Sandbox Code Playgroud)
当然,您需要确保它updateMe()是原始页面中的全局函数.或者,如果原始页面中有某个对象并且updateMe()是该对象的方法,则只要该对象是全局的,您仍然可以执行此操作.例如在主页中:
var myObject = {
updateMe: function( data ) {
alert( data );
}
};
Run Code Online (Sandbox Code Playgroud)
然后在弹出窗口中你可以做到:
opener.myObject.updateMe( 'Hello!' );
Run Code Online (Sandbox Code Playgroud)
基本上,只要您可以使用原始页面中的对象或功能window.whatever,然后在弹出窗口中您可以简单地将其更改为opener.whatever.