2012-01-31 46 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初始化後運行,該功能將立即執行。

相關問題