簡體   English   中英

jQuery-.on('click'…)在處理動態創建的元素時不適用於現有元素

[英]jQuery - .on('click' … ) does not work on already existing elements while working on dynamically created ones

JavaScript的:

$('body').on('click', '.deleteButton > a', function() {
    alert('pop');
    return false;
});

HTML:

<div class="deleteButton">
    <a href="#">✖</a>
</div>

這種綁定的click事件在新創建的元素上(通過.clone和.prepend)運行良好,但不適用於現有元素。

但是使用.click()而不是.on()可以處理現有元素,而不能處理新創建的元素。

有什么方法可以將一行新的和現有元素上的click事件綁定在一起?

好吧,你可以看看小提琴JsFiddle

$('body').on('click', '.deleteButton > a', function () {});

您需要做的是將事件附加到正文,而不是類或id。 這樣做會將您的事件綁定到主體,作為回報,所有主體元素將自動綁定到該事件。

您的代碼運行正常。 但是您仍然可以嘗試這一方法。 它也起作用。

$('.deleteButton > a').on('click', function () {
alert('pop');
return false;
});

采用

            $(document).ready(function(){
            $('body').on('click', '.deleteButton > a', function() {
                alert('pop');
                return false;
            });
            });

希望這會幫助你。

檢查這個jsFiddle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM