存在問題
在我們使用jquery動態創建元素后往往會遇到一些問題,如:
給.button按鈕綁定了點擊時間,執行alert:(1);
點擊事件代碼如下:
<script>
$("#add").click(function(){
var btn='<input type="button" class="button" value="del" >';
$("#box").html(btn);
});
$(".button").click(function(){
alert(1);
});
</script>
但在我們動態創建了.button之后,新創建的.button元素並沒有點擊效果但原來寫的.button有點擊彈窗事件,這就是問題所在。
解決辦法
我們來解決這個問題,這個問題的關鍵原因在於:動態生成的元素要通過事件委托來處理。
我們通過事件委托來解決問題:
$("#box").on('click','.button',function(){
alert(1);
});
希望我的答案能解決你遇到的問題。