解決jquery動態創建元素綁定事件失效問題


存在問題

在我們使用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);
});

希望我的答案能解決你遇到的問題。


免責聲明!

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



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