徹底弄懂jquery事件委託的用法

jquery總結起來就是對dom、事件處理、ajax的簡化,今天給大家介紹下jquery中事件處理中的委託機制。

什麼是事件委託?
事件委託其實利用了事件冒泡機制(當事件發生後,這個事件就要開始傳播(從裡到外或者從外向裡),簡單點來說,比如我們常見的onclick、keydown、keyup等一系列的用戶操作綁定給其他元素來做(本應該由這個元素來操作的),這就是事件委託。

徹底弄懂jquery事件委託的用法

為什麼不直接操作元素,而用事件委託來操作元素呢?


一:性能原因
如果一個父級元素裡子元素太多的時候,為每個子元素進行獨立綁定事件處理的話,無疑是浪費了很大的頁面性能。所以利用委託機制來處理是最佳的選擇。
二:為動態生成的元素,在不可預見的頁面,比如我們常見的點擊生成更多的頁面,這種通常通過ajax去請求獲取新的html元素的時候,我們無法在事前就給予事件的綁定,只能委託父級元素來操作。

徹底弄懂jquery事件委託的用法

委託父級元素動態添加dom元素

jquery如何進行事件的委託處理?
jquery的.on方法內置了委託管理能力,代碼如下:
html代碼:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

徹底弄懂jquery事件委託的用法


jquery代碼:

$(function () { $("ul").on("click","li",function () { alert(1); }) }); li的代碼就可以巧妙的委託給ul代為處理。對於事件委託處理,想必大家都有自己的解決方案。歡迎大家往下留言探討。大唐傳易是專門從事實戰IT編程的博客網站,歡迎大家關注並訂閱!


分享到:


相關文章: