Jquery在父窗口中从子窗口运行函数

我有一个弹出窗口,我想在父窗口中运行一个函数。

在我的孩子:

$(document).ready(function(){ parent.$.fn.guestFromPop('Action'); }); 

在我的父母:

 $(document).ready(function(){ function guestFromPop(data) { alert(data); } }); 

问题是parent.$.fn.guestFromPop('Action'); 我从来没有看到警报,没有任何反应。 难道我做错了什么?

这不会声明函数$.fn.guestFromPop

 $(document).ready(function(){ function guestFromPop(data) { alert(data); } }); 

…它所做的就是声明guestFromPop() ,这个函数只在document.ready处理程序中可用。 你需要声明你所追求的function:

 $.fn.guestFromPop = function(data) { alert(data); }; 

虽然,这也不是真的正确,因为它不会在jQuery元素上调用,你可能想要一些简单的东西:

 function guestFromPop(data) { alert(data); } 

叫做:

 parent.guestFromPop('Action'); 
 (function(){ $.fn.TestFunction=function(SampleData) { alert(SampleData); }; }); 

//可在其他父页面或iframe中调用//

 (function(){ $.fn.TestFunction("sdfsdfsfsfsd"); }); 

我有同样的问题。 弄清楚了。 您的代码的问题在于您没有引用正确的窗口来调用该函数。 要从控制台到它的父母,你需要’开启者’,而不是’父母’。

因此,您需要调用此代码而不是parent.guestFromPop(’Action’):

 $(self.window.opener.document).guestFromPop('Action'); 

那应该是指正确的function。 它对我有用! 😉

 guestFromPop = function(data) { alert (data) } 

来自iframe的电话:

 parent.guestFromPop(data);