HTML中關於動態創建的標簽無法綁定js事件的解決方法:.on()方法的 [.selector]


在前端頁面的時候,會經常遇到用JavaScript動態創建出來的Button按鈕或其他標簽無法使用點擊事件的問題。如下代碼,使用jquery在body中動態創建一個class為demo的Button按鈕,當點擊這個按鈕時無法觸發點擊事件。

<script>
$(function(){
    $("body").html("<button class='demo'>按鈕</button>");
    $(".demo").click(function(){
        alert("彈窗");
    });
});
</script>
<body>
</body>

將以上代碼中的 $(“.demo”).click(function(){………}); 修改為 $(document).on(“click”,”.demo”,function(){………})即可:

<script>
$(function(){
    $("body").html("<button class='demo'>按鈕</button>");
    $(document).on("click",".demo",function(){
        alert("彈窗");
    });
});
</script>

<body>

</body>

此時事件冒泡到document對象上,當檢測事件的target,如果與傳入的選擇符(這里是selector)匹配,就觸發事件,否則不觸發。

.on()方法的 [.selector]用法詳情見:https://www.runoob.com/jquery/event-on.html


免責聲明!

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



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