jquery:為動態加載的元素綁定事件


最近在做項目的時候發現的一個問題,通過ajax動態加載出來的一個button值綁定不了點擊事件。我使用的是datatables這款表單插件,表單內容是通過ajax動態渲染出來的。

解決方案:

通過Google,我發現在jquery1.7版本之前通常使用 .live() 這個事件,但是這個方法在1.9版本被移除了

 

所以,我們需要找一個替代的方法 .on(),首先讓我們先來看下這個事件的介紹

 

看介紹,這兩個事件做的事情差不多,然后我在具體的介紹中發現了這個

 

第一點:.on()事件綁定的元素必須是頁面中已經存在的,也就是靜態html中存在的元素,才會被綁定。

第二點:通過selector參數進行代理,什么意思呢?就是說當這個參數不為空的時候,.on()綁定的事件不會直接在綁定的元素上觸發,它會自動匹配內部節點,然后在該節點觸發

怎么理解第二點呢?通俗點說就是:一個父親(已綁定靜態頁面的元素)管着一大堆兒子(動態加載出來的元素),我們首先找到了父親,然后告訴他其中一個兒子的名字和要干的事情(具體綁定的事件),然后他就會去讓你指定的這個兒子去干。這樣好理解吧。

 

到這里,問題就解決了。具體寫法像這樣:

 

以上是我解決該問題的整個過程,希望能夠幫助到你,共同進步!!!

 

本文參考文檔:

https://www.jquery123.com/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM