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

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

Patricia Arquette
Lepaskan: 2024-12-18 19:31:13
asal
713 orang telah melayarinya

How to Attach Event Handlers to Dynamically Created HTML Elements with jQuery?

Melampirkan Acara pada Elemen HTML Dinamik dengan jQuery

Dalam jQuery, melampirkan pengendali acara pada elemen HTML yang dicipta secara dinamik memerlukan pendekatan yang berbeza berbanding dengan elemen statik. Elemen HTML dinamik, ditambahkan pada halaman melalui teknik seperti AJAX atau DHTML, tidak mempunyai pengikatan acara melainkan dikendalikan secara eksplisit.

Andaikan anda mempunyai kod jQuery yang melampirkan pengendali acara pada semua elemen dengan kelas ".myclass." Ini berfungsi dengan lancar untuk elemen yang hadir pada pemuatan halaman, tetapi melampirkan pengendali acara pada elemen ".myclass" yang dicipta secara dinamik memberikan cabaran.

Untuk menangani perkara ini, dua teknik boleh digunakan:

Menggunakan jQuery's Kaedah .on()

Dalam jQuery 1.7 dan lebih baru, kaedah .live() ialah ditamatkan. Sebaliknya, .on() harus digunakan untuk melampirkan pengendali acara. Kaedah ini membolehkan anda menentukan pemilih yang memilih elemen induk dan menggabungkannya dengan pemilih untuk elemen dinamik yang anda mahu mengendalikan acara.

Contohnya:

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

Dalam ini contoh, pengendali acara akan dilampirkan pada semua teg dengan kelas myclass dalam teg badan, tidak kira sama ada teg tersebut hadir pada pemuatan halaman atau ditambah secara dinamik kemudian.

Menggunakan Kaedah .delegate() jQuery

Untuk versi jQuery sebelum 1.7, kaedah .delegate() boleh digunakan dan bukannya .on(). Sintaks adalah serupa, membolehkan anda menentukan pemilih induk dan pemilih untuk elemen dinamik:

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

Menggunakan salah satu daripada teknik ini memastikan bahawa pengendali acara dilampirkan pada elemen HTML statik dan dicipta secara dinamik, menjadikan ia mudah untuk mengendalikan acara pada kandungan dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Pengendali Acara pada Elemen HTML Dicipta 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