求解:jquery是如何实现多个$(function(){})顺序执行

 我来答
百度网友a19d193
2013-04-19 · TA获得超过3446个赞
知道大有可为答主
回答量:1464
采纳率:100%
帮助的人:1442万
展开全部

没深入研究过,但是原理肯定是利用堆栈。因为实际上这个操作并不完全是由jQuery实现的,jQ也是利用了原生js的addEventListener方法。其实你可以利用数组模仿,例如

var demo = [];
for (i = 0; i < 10; i ++) demo.push(i);//入栈
var num = null;
while (num = demo.shift()) {
alert(num);//demo.shift(),数组的第一个元素弹出。相反的demo.pop(),最后一个元素弹出。
}
更多追问追答
追问

比如我在一个html里面,这样定义了一下。

然后我想在一个base.js里顺序执行这两个方法,上面您给的答案似乎行不通啊

追答

window.$onload = ...这样不是变量赋值了么,第二次的覆盖掉第一个咯。

window.$onload = [];
window.$onload.push(function($){$('button').button();});
window.$onload.push(function($){$.jwf.act.notify('...');});
//base.js
var cbFn = false;
while(cbFn = window.$onload.shift()) cbFn(jQuery);

你试试看

wu357590525
2013-04-19 · TA获得超过265个赞
知道答主
回答量:157
采纳率:0%
帮助的人:28.4万
展开全部
写在上面的先执行,写在下面的后执行。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式