JQuery對自定義事件 - .bind("foo", function(e)...
有很好的支持。但是,如果觸發事件的機制還沒有準備好,只能在那些事件綁定的元素上構建,在jQuery中綁定自定義事件時的觸發代碼
例如,我想要一個scrollin
事件,當一個元素滾動到一個視口時被觸發。要做到這一點,我會onscroll
必須檢查所有的元素和trigger
scrollin
那些在視口之外,現在在裏面。這是不可接受的。
有一些技巧來加速它。例如,其中一個插件檢查「私人」$.cache
中的所有元素,並僅檢查具有scrollin
事件綁定的元素。
但這也很醜。我需要的是一個額外的回調事件的綁定(除了處理回調),這將負責滾動管理,即將元素放入一些elementsCheckOnScrol
緩存陣列中。
我在尋找類似:
$.delegateBind("scrollin", function(jqSelection) { ... });
element.bind("scrollin", function(e) {..}); //Calls^after internal bind management
編輯:這將是很好的API!
$.bind("bind", function(onWhat) { ... })
:-)
事件委託,並且.live方法可能會授予您想要的內容。一個小小的演示可以幫助我們;) – roselan