js调用jquery問題

franzhong 2012-07-10 10:02:06

$(document).ready(function(){
var gTmp;
function foo1(){
gTmp = foo2();
alert(gTmp);
}
function foo2(){
return 1;
}
});

function foo3(){
foo1();//要調用的是上面的foo1
}


<iframe src="test.html"></ifarme>

//test.html
window.parent.foo3();

[!]注意,foo1 foo2 foo3不能省略,而foo3卻可以放進ready裡面
問題是:
如此調用提示foo1未定義,放入ready foo3未定義
iframe 想調用jquery函數怎麼辦,高手支招
...全文
191 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
franzhong 2012-07-10
  • 打赏
  • 举报
回复
来人啊
关健字:js调用jquery;foo3运行出错;iframe 调用父jquery函数
franzhong 2012-07-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

iframe和父html只能2个文件都写全所有js代码,因为他们都是独立的
[/Quote]
父主結构是个插件,里面用了jquery技术,我正是通通过iframe弹出输入框后,成功初始化插件的init函数,提不出来
mingfish2 2012-07-10
  • 打赏
  • 举报
回复
iframe和父html只能2个文件都写全所有js代码,因为他们都是独立的
franzhong 2012-07-10
  • 打赏
  • 举报
回复
被一语点破,我可把以函数全提出来啊,把运行的留在里面,例如绑定事件,自运行等,这样就可以了,对ready理解偏了,以为jquery头了,其实是onload
hch126163 2012-07-10
  • 打赏
  • 举报
回复
楼主,没搞明白 js 函数的作用域

$(document).ready(function(){
var gTmp;
function foo1(){ gTmp = foo2(); alert(gTmp); }
function foo2(){ return 1; }
});
// foo1, foo2 在匿名函数 function 内部有效

function foo3(){ foo1();//要調用的是上面的foo1 }

把3个函数都定义成全局得就可以。

你的ready 函数,根本就没用(没用执行任何代码,只是定义了,一个变量,2个函数,都是局部的)

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧