我有一个弹出窗口,我想在父窗口中运行一个函数。
在我的孩子身上:
$(document).ready(function(){
parent.$.fn.guestFromPop('Action');
});
在我的父母身上:
$(document).ready(function(){
function guestFromPop(data) {
alert(data);
}
});
问题是当parent.$.fn.guestFromPop('Action');
我从未看到警报时,没有任何反应。我做错了吗?
答案 0 :(得分:4)
这不会声明函数$.fn.guestFromPop
:
$(document).ready(function(){
function guestFromPop(data) {
alert(data);
}
});
...它所做的就是声明guestFromPop()
,这是一个仅在document.ready
处理程序中可用的函数。你需要声明你所追求的功能:
$.fn.guestFromPop = function(data) {
alert(data);
};
虽然,这也不是真的正确,因为它不会在jQuery元素上调用,你可能想要一些简单的东西:
function guestFromPop(data) {
alert(data);
}
呼叫:
parent.guestFromPop('Action');
答案 1 :(得分:1)
(function(){
$.fn.TestFunction=function(SampleData)
{
alert(SampleData);
};
});
//可在其他父页面或iframe中调用 //
(function(){
$.fn.TestFunction("sdfsdfsfsfsd");
});
答案 2 :(得分:0)
我遇到了同样的问题。弄清楚了。您的代码的问题在于您没有引用正确的窗口来调用该函数。要从控制台到它的父母,你需要'开启者',而不是'父母'。
所以你需要调用它来代替parent.guestFromPop('Action'):
$(self.window.opener.document).guestFromPop('Action');
那应该参考正确的功能。它对我有用! ; - )
答案 3 :(得分:0)
guestFromPop = function(data) {
alert (data)
}
来自iframe的电话:
parent.guestFromPop(data);