如下面的例子,使用add方法創建的button標籤是添加不了click事件的
<html>
<head>
</head>
<body>
<p class="pWrap">這是一個段落。
<button class="btn">按鈕</button>
</p>
<button onclick="add()">add</button>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(".btn").on("click", function(){
alert(1)
});
function add() {
$('.pWrap').append('<button class="btn">按鈕</button>')
}
</script>
</html>
解決辦法,給父級添加事件 on傳第二個參數,也即該元素的選擇器
<html>
<head>
</head>
<body>
<p class="pWrap">這是一個段落。
<button class="btn">按鈕</button>
</p>
<button onclick="add()">add</button>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(".pWrap").on("click", '.btn',function(){
alert(1)
});
function add() {
$('.pWrap').append('<button class="btn">按鈕</button>')
}
</script>
</html>