1 回答

TA貢獻1784條經驗 獲得超8個贊
$('.delete-item').click(...)
僅將事件偵聽器附加到現有項目。像這樣使用事件委托:
$("ul").on("click",?".delete-item",?function()?{ ????$(this).parent().text("DELETED") });
使用事件委托,您可以將事件偵聽器附加到 DOM 中已存在的祖先(此處為元素<ul>
),并監視后代上的事件,無論它們是否已經存在或動態添加。
演示:
$("ul").on("click", ".delete-item", function() {
? $(this).parent().text("DELETED")
});
$("button").click(function() {
? $("ul").append(`<li>Appended item <a class="delete-item" href="#">Delete item</a></li>`)
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
? <li>List item 1 <a class="delete-item" href="#">Delete item</a></li>
? <li>List item 2 <a class="delete-item" href="#">Delete item</a></li>
</ul>
<button type="button">Add item</button>
添加回答
舉報