今天筆者在實現一個簡單的動態生成元素功能的時候,發現了一個問題:
使用append動態生成的元素事件綁定失效了。
查閱資料后發現: click(fn)當選中的選擇器被點擊時觸發回調函數fn。只針對與頁面已存在的選擇器。而新添加的元素自然沒有綁定到事件。
解決方案1:
單獨為新添加的元素綁定事件,顯然這樣的操作存在代碼冗余,不夠簡潔,這時我們可用看一看第二種解決方案。
解決方案2:
使用$(document).on('事件類型','要選擇的元素',function(){})方法為元素綁定事件
on方法包含很多事件,點擊,雙擊等等事件。與click(fn)相比,二者在綁定靜態控件時沒有區別,但是如果面對動態產生的控件,只有 on() 能成功的綁定到動態控件中。
這樣動態元素的事件綁定問題就可以解決了。