append動態生成的元素,無法觸發事件的原因及解決方案


今天筆者在實現一個簡單的動態生成元素功能的時候,發現了一個問題:

使用append動態生成的元素事件綁定失效了。

 

 查閱資料后發現: click(fn)當選中的選擇器被點擊時觸發回調函數fn。只針對與頁面已存在的選擇器。而新添加的元素自然沒有綁定到事件。

解決方案1:

單獨為新添加的元素綁定事件,顯然這樣的操作存在代碼冗余,不夠簡潔,這時我們可用看一看第二種解決方案。

 

 

解決方案2:

使用$(document).on('事件類型','要選擇的元素',function(){})方法為元素綁定事件
   
 on方法包含很多事件,點擊,雙擊等等事件。與click(fn)相比,二者在綁定靜態控件時沒有區別,但是如果面對動態產生的控件,只有 on() 能成功的綁定到動態控件中。

 

 

 這樣動態元素的事件綁定問題就可以解決了。


免責聲明!

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



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