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
Patricia Arquetteasal
2024-12-18 19:31:13718semak imbas

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
});

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
});

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!

Kenyataan:
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