Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Melampirkan Pengendali Acara pada Elemen Ditambah Secara Dinamik dengan jQuery?

Bagaimana untuk Melampirkan Pengendali Acara pada Elemen Ditambah Secara Dinamik dengan jQuery?

Patricia Arquette
Lepaskan: 2025-01-05 11:10:43
asal
188 orang telah melayarinya

How to Attach Event Handlers to Dynamically Added Elements with jQuery?

Cara Mengikat Peristiwa kepada Elemen Dinamik Menggunakan jQuery

Andaikan anda mempunyai kod jQuery sedia ada yang melampirkan pengendali acara pada elemen dengan kelas .myclass . Walau bagaimanapun, dalam senario di mana elemen ini ditambahkan secara dinamik pada halaman melalui AJAX atau DHTML, elemen yang baru dibuat tidak akan mempunyai pengendali klik yang dikaitkan dengannya.

Penyelesaian Masalah

Untuk mengendalikan isu ini, jQuery menawarkan beberapa pendekatan:

1. Kaedah .on() (jQuery 1.7 ):

Ganti kaedah .live() dengan .on() dan tentukan pemilih yang menggabungkan elemen induk dengan .myclass sebagai hujah.

$('body').on('click', 'a.myclass', function() {
    // do something
});
Salin selepas log masuk

Ini akan melampirkan pengendali klik pada semua teg dengan kelas .myclass, tidak kira bila ia ditambahkan pada halaman.

2. Kaedah .delegate() (jQuery 1.6 - 1.8):

Kaedah .delegate() bertindak serupa dengan .on() tetapi memerlukan elemen induk dinyatakan dalam kurungan:

$('body').delegate('a.myclass', 'click', function() {
    // do something
});
Salin selepas log masuk

Kedua-dua .on() dan .delegate() membenarkan pengendalian acara pada penambahan secara dinamik elemen.

Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Pengendali Acara pada Elemen Ditambah Secara Dinamik dengan jQuery?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan