最近在作項目的時候發現的一個問題,經過ajax動態加載出來的一個button值綁定不了點擊事件。我使用的是datatables這款表單插件,表單內容是經過ajax動態渲染出來的。html
解決方案:jquery
經過Google,我發如今jquery1.7版本以前一般使用 .live() 這個事件,可是這個方法在1.9版本被移除了ajax
因此,咱們須要找一個替代的方法 .on(),首先讓咱們先來看下這個事件的介紹插件
看介紹,這兩個事件作的事情差很少,而後我在具體的介紹中發現了這個代理
第一點:.on()事件綁定的元素必須是頁面中已經存在的,也就是靜態html中存在的元素,纔會被綁定。htm
第二點:經過selector參數進行代理,什麼意思呢?就是說當這個參數不爲空的時候,.on()綁定的事件不會直接在綁定的元素上觸發,它會自動匹配內部節點,而後在該節點觸發blog
怎麼理解第二點呢?通俗點說就是:一個父親(已綁定靜態頁面的元素)管着一大堆兒子(動態加載出來的元素),咱們首先找到了父親,而後告訴他其中一個兒子的名字和要乾的事情(具體綁定的事件),而後他就會去讓你指定的這個兒子去幹。這樣好理解吧。事件
到這裏,問題就解決了。具體寫法像這樣:文檔
以上是我解決該問題的整個過程,但願可以幫助到你,共同進步!!!get
本文參考文檔: