如果我有多个$(document).ready(...)
函数,它们会相互覆盖吗?为了争论,假装正确的编码被抛出了这个。
假设我的网站脚本文件中有$(document).ready(function() {...});
。然后我使用第三方插件,它也使用$(document).ready(function() {...});
。这会覆盖我已创建的函数,还是在文档准备就绪时jQuery将这些函数“排队”到所有运行状态?
答案 0 :(得分:17)
不,他们不会互相覆盖。每个功能都被执行。
您当然可以自己轻松查看:http://jsfiddle.net/6jgGt/
或者从jQuery code本身了解:
第255行是就绪函数,其中调用jQuery.bindReady();
,其中readyList
readyList = jQuery._Deferred();
对象
一旦它是一个延迟对象,传入的函数是追加和readyList.done( fn );
,我们可以在第41行看到in the done
method元素被添加到一个数组{ {1}}所以每个人都单独保存......
答案 1 :(得分:4)
不,他们不会互相覆盖。他们排队,就像你说的那样。