I 認爲事件處理程序按它們註冊的順序進行處理。 (這是否正確?)如果是這種情況,那麼如果我在腳本的開頭添加了一個事件處理程序,我可以絕對確定它會在隨後的處理程序附加到相同事件之前觸發嗎?還有事件命名空間對此有什麼影響?是否事件處理程序是串聯的(一個在下一個之前完成)還是並行?確保jQuery事件處理程序執行順序
我想這樣做是因爲我的腳本依賴於視口大小,該大小會在resize事件中發生變化,我需要不斷地查找它。我不想在每個處理函數中重複調用$(window).width()
,而是希望在腳本的頂部放置一個處理程序,該處理程序將$(window).width()
保存到每個調整大小的對象屬性。然後在後來的處理程序中,我可以訪問該屬性並確定它是最新的度量。
我知道我可以創建一個自定義事件,只要計算完成就觸發,並將後續處理程序附加到自定義事件。但是,我不想這樣做,因爲我需要保持與我之後發佈的插件的互操作性,這些插件也可能附加到resize事件。
查看http://stackoverflow.com/questions/290254/how-to-order-events-bound-with-jquery – ustun 2012-01-27 17:04:14
您是否失去了對'$(window).width()'的顯着性能?如果不是,爲什麼要麻煩?你只會引入對全局變量狀態的脆弱依賴。 – millimoose 2012-01-27 17:05:19
@Inerdial我需要調用它和其他一些計算,如20次。我認爲這會有所作爲。 – ryanve 2012-01-27 17:08:55