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);