Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Berhijrah daripada .live() jQuery ke .on() untuk Elemen Ditambah Secara Dinamik?

Bagaimanakah Saya Berhijrah daripada .live() jQuery ke .on() untuk Elemen Ditambah Secara Dinamik?

DDD
Lepaskan: 2024-12-14 15:41:10
asal
994 orang telah melayarinya

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

Mengemas kini .live() kepada .on() dalam jQuery

Dalam jQuery versi 1.7 dan ke atas, kaedah .live() mempunyai telah digantikan dengan kaedah .on() yang lebih serba boleh. Walau bagaimanapun, apabila beralih kepada .on(), nuansa tertentu perlu dipertimbangkan untuk memastikan pengendalian acara yang betul.

Satu isu biasa yang dihadapi melibatkan elemen ditambah secara dinamik. Semasa .live() melampirkan pengendali acara secara automatik pada kedua-dua elemen sedia ada dan akan datang yang sepadan dengan pemilih tertentu, .on() hanya melampirkan pengendali pada elemen yang sudah ada dalam DOM pada masa panggilan.

Untuk mencapai yang serupa kefungsian kepada .live() apabila berurusan dengan elemen dinamik, adalah perlu untuk mengikat pengendali acara kepada elemen peringkat lebih tinggi (seperti badan dokumen) menggunakan .on() kaedah.

Sebagai contoh, pertimbangkan senario di mana menu lungsur dinamik ditambahkan pada halaman web dan pengendali acara perlu dilampirkan pada menu lungsur ini untuk mengesan perubahan. Menggunakan .on(), pengendali acara akan diikat pada badan dokumen seperti:

$(document.body).on('change', 'select[name^="income_type_"]', function() {
    alert($(this).val());
});
Salin selepas log masuk

Sebagai alternatif, adalah disyorkan untuk mengikat pengendali acara sedekat mungkin dengan elemen sasaran, yang meningkatkan prestasi dan mengurangkan isu yang berpotensi.

Atas ialah kandungan terperinci Bagaimanakah Saya Berhijrah daripada .live() jQuery ke .on() untuk Elemen Ditambah Secara Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan