2012-01-31 30 views
3

我对JQuery中的.ready()函数有疑问。特别是,考虑有人必然会一些处理的文档准备事件的情况下,我执行

$(document).ready(function(){ /* my code here */ }) 

这是否会覆盖以前注册的处理程序,或只添加一个新的(矿)的事件?

谢谢

+1

它会添加您的活动。 – jwatts1980 2012-01-31 23:03:14

+3

这是你自己可以很容易想出的东西:'(func1); $(func2);' – 2012-01-31 23:06:37

回答

3

同意。您可以随意多次使用该功能。这里是JQuery文档。

http://docs.jquery.com/Tutorials:Multiple_ $(文件)。就绪()

与像点击结合一直

所有功能,$(文件)。就绪(),$(窗口).load()被添加到堆栈。这样你可以在所有的javaascript文件上使用$(document).ready。

0

它会推入堆栈,所以它不会覆盖。

1

不,它会将您的处理程序添加到集合中。

2

它会将您的新事件处理程序添加到现有的处理程序,如果这些处理程序也添加了jQuery.ready。如果直接通过DOM添加它们,它们将被覆盖。

3

答案是:它被添加到该事件的事件处理程序集中。它也很容易测试:

$(document).ready(function(){alert('test1');}); 
$(document).ready(function(){alert('test2');}); 
0

这会将新函数添加到处理程序堆栈。而且,如果在DOM初始化后运行,该功能将立即执行。

相关问题