我對JQuery中的.ready()函數有疑問。特別是,考慮有人必然會一些處理的文檔準備事件的情況下,我執行
$(document).ready(function(){ /* my code here */ })
這是否會覆蓋以前註冊的處理程序,或只添加一個新的(礦)的事件?
謝謝
我對JQuery中的.ready()函數有疑問。特別是,考慮有人必然會一些處理的文檔準備事件的情況下,我執行
$(document).ready(function(){ /* my code here */ })
這是否會覆蓋以前註冊的處理程序,或只添加一個新的(礦)的事件?
謝謝
同意。您可以隨意多次使用該功能。這裏是JQuery文檔。
http://docs.jquery.com/Tutorials:Multiple_ $(文件)。就緒()
與像點擊結合一直所有功能,$(文件)。就緒(),$(窗口).load()被添加到堆棧。這樣你可以在所有的javaascript文件上使用$(document).ready。
它會推入堆棧,所以它不會覆蓋。
不,它會將您的處理程序添加到集合中。
它會將您的新事件處理程序添加到現有的處理程序,如果這些處理程序也添加了jQuery.ready。如果直接通過DOM添加它們,它們將被覆蓋。
與通過jQuery綁定的所有事件處理函數一樣,它將被添加到元素/事件的事件處理函數隊列中。
jQuery有所述event.stopImmediatePropagation()
停止連接於相同的元件的事件處理程序的執行:http://api.jquery.com/event.stopImmediatePropagation/
答案是:它被添加到該事件的事件處理程序集中。它也很容易測試:
$(document).ready(function(){alert('test1');});
$(document).ready(function(){alert('test2');});
這會將新函數添加到處理程序堆棧。而且,如果在DOM初始化後運行,該功能將立即執行。
它會添加您的活動。 – jwatts1980 2012-01-31 23:03:14
這是你自己可以很容易想出的東西:'(func1); $(func2);' – 2012-01-31 23:06:37