> jQuery's .on()
和.off()
方法:綜合指南
>本文探討了jQuery的.on()
和.off()
事件處理程序,將它們與現在播放的.live()
方法進行了比較。 亞當·桑塔格(Adam Sontag)在2011年的jQuery峰會上提出的建議,以採用.on()
和.off()
強調了重大改進。讓我們深入研究功能和差異。
> jquery .live()
(已棄用)
方法來稱讚其將事件處理程序連接到動態添加的DOM元素的能力。 它的局限性包括:.live()
.live()
不支持$("a").find(".offsite, .external").live(...)
> event.stopPropagation()
unbind()
>單擊通過附加的操作者,可能會導致意外行為。
$(document).unbind("click")
.live()
>將事件處理程序附加到選定的元素上,處理現有元素和未來元素。 .on()
.on()
vs.
>
.live()
.on()
函數:
.live()
核心差異在於參數順序,而在document
>中沒有選擇器參數:.on()
>
.live()
性能:$(selector).live(events, data, handler); // jQuery 1.3+ (Deprecated) $(document).delegate(selector, events, data, handler); // jQuery 1.4.3+ (Deprecated) $(document).on(events, selector, data, handler); // jQuery 1.7+,通常以3或4倍的倍數,如各種性能基準所證明的。
.on()
.live()
jquery .off()
>刪除事件處理程序,提供了與.on()
的對應物。 它的功能與.unbind()
類似,保持向後兼容性。 在jQuery 1.7及以後,.unbind()
本質上是一個別名.off()
>。
和.bind()
.on()
>
是.bind()
>的別名。
.on()
>
>用.live()
替換.on()
。 注意更改的參數順序。
常見問題(FAQS)$(selector).live(event, data, function)
$(document).on(event, selector, data, function)
>
>和>有關的關鍵差異,遷移策略和績效注意事項。 無需在這裡複製它。
結論.live()
.on()
從
>和的轉移是jQuery事件處理中的至關重要的升級。 >提供卓越的性能,靈活性和可維護性,使其成為現代jQuery開發的首選。
以上是jQuery 1.7 .on()vs .live()評論的詳細內容。更多資訊請關注PHP中文網其他相關文章!