Kaedah jQuery live() melampirkan fungsi pemprosesan acara pada semua elemen padanan Walaupun elemen itu dijana kemudian melalui tambah, tambah, selepas dan acara lain, ia masih sah.
Kaedah ini boleh dilihat sebagai varian kaedah .bind(). Apabila menggunakan .bind(), elemen yang dipadankan oleh pemilih akan mempunyai pengendali acara yang dilampirkan padanya, manakala elemen yang ditambahkan kemudian tidak akan. Anda perlu menggunakan .bind() sekali lagi untuk ini. Contohnya:
<body>
<div class="clickme">Click here</div>
</body>
Salin selepas log masuk
Anda boleh mengikat acara klik mudah pada elemen ini:
$(' .clickme').bind('click', function() { alert(
www.jb51.net); });
Apabila elemen diklik, kotak amaran akan muncul. Kemudian, bayangkan bahawa elemen lain ditambah selepas ini.
Walaupun elemen baharu ini juga akan sepadan dengan pemilih ".clickme" , memandangkan elemen ini ditambah selepas memanggil .bind() , mengklik pada elemen ini tidak akan memberi kesan.
Tetapi live() menyediakan kaedah untuk situasi ini. Jika kita mengikat acara klik seperti ini:
www.jb51.net
"); });
Dengan cara ini, mengklik pada elemen yang baru ditambah masih boleh mencetuskan pengendali acara.
Delegasi acara
Kaedah
live() berfungsi pada elemen yang belum lagi ditambahkan pada DOM disebabkan penggunaan delegasi acara: pengendali acara yang terikat kepada elemen nenek moyang boleh bertindak balas kepada peristiwa yang dicetuskan pada keturunan. Pengendali acara yang dihantar ke live() tidak akan terikat pada elemen, tetapi akan dianggap sebagai pengendali acara khas dan terikat pada nod akar pokok DOM.
Dalam contoh kami, apabila elemen baharu diklik, langkah berikut berlaku:
1. Hasilkan acara klik dan hantar ke
2. Memandangkan tiada fungsi pengendalian peristiwa yang terikat secara langsung kepada
, acara itu berbuih sehingga ke pepohon DOM.
3. Peristiwa terus menggelembung ke nod akar pepohon DOM ini fungsi pemprosesan acara khas terikat padanya secara lalai.
4. Laksanakan fungsi pengendalian acara klik khas yang terikat dengan .live().
5. Fungsi pemprosesan peristiwa ini mula-mula mengesan sasaran objek acara untuk menentukan sama ada ia perlu diteruskan.
6. Ujian ini dilaksanakan dengan menguji sama ada $(event.target).closest('.clickme') boleh mencari elemen padanan.
7. Jika elemen yang sepadan ditemui, pengendali acara asal dipanggil.
8. Memandangkan ujian dalam langkah 5 di atas hanya akan dilakukan apabila peristiwa itu berlaku, elemen yang ditambahkan pada bila-bila masa boleh bertindak balas kepada peristiwa ini.
Di atas ialah pengenalan terperinci kepada kaedah jQuery live() untuk menambahkan respons acara kepada kandungan yang dijana secara dinamik. Saya harap ia akan membantu pembelajaran semua orang.
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
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31
Topik-topik yang berkaitan
Lagi>