多个$(文档).ready函数

时间:2011-07-21 00:33:14

标签: jquery html

如果我有多个$(document).ready(...)函数,它们会相互覆盖吗?为了争论,假装正确的编码被抛出了这个。

假设我的网站脚本文件中有$(document).ready(function() {...});。然后我使用第三方插件,它也使用$(document).ready(function() {...});。这会覆盖我已创建的函数,还是在文档准备就绪时jQuery将这些函数“排队”到所有运行状态?

2 个答案:

答案 0 :(得分:17)

不,他们不会互相覆盖。每个功能都被执行。

您当然可以自己轻松查看:http://jsfiddle.net/6jgGt/

或者从jQuery code本身了解:

第255行是就绪函数,其中调用jQuery.bindReady();,其中readyList

在第429行初始化readyList = jQuery._Deferred();对象

一旦它是一个延迟对象,传入的函数是追加readyList.done( fn );,我们可以在第41行看到in the done method元素被添加到一个数组{ {1}}所以每个人都单独保存......

答案 1 :(得分:4)

不,他们不会互相覆盖。他们排队,就像你说的那样。