首頁 > web前端 > js教程 > 對於動態新增的元素,如何從 jQuery 的 .live() 遷移到 .on()?

對於動態新增的元素,如何從 jQuery 的 .live() 遷移到 .on()?

DDD
發布: 2024-12-14 15:41:10
原創
994 人瀏覽過

How Do I Migrate from jQuery's .live() to .on() for Dynamically Added Elements?

在jQuery 中將.live() 更新為.on()

在jQuery 版本1.7 及更高版本中,.live () 方法具有已被更通用的.on() 方法取代。但是,在轉換到 .on() 時,需要考慮某些細微差別,以確保正確的事件處理。

遇到的一個常見問題涉及動態添加的元素。 .live() 自動將事件處理程序附加到與給定選擇器相符的現有和未來元素,而 .on() 僅將處理程序附加到呼叫時 DOM 中已存在的元素。

實現類似的效果處理動態元素時,需要使用 .on() 將事件處理程序綁定到更高層級的元素(例如文件正文)方法。

例如,考慮將動態下拉清單新增至網頁的場景,並且需要將事件處理程序附加到這些下拉清單以偵測變更。使用.on(),事件處理程序將綁定到文檔主體,如下所示:

$(document.body).on('change', 'select[name^="income_type_"]', function() {
    alert($(this).val());
});
登入後複製

或者,建議將事件處理程序盡可能靠近目標元素綁定,這可以提高性能並減少潛在問題。

以上是對於動態新增的元素,如何從 jQuery 的 .live() 遷移到 .on()?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板