Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan Perubahan dalam Kandungan Elemen DOM Menggunakan jQuery?

Bagaimanakah Saya Boleh Mengesan Perubahan dalam Kandungan Elemen DOM Menggunakan jQuery?

Patricia Arquette
Patricia Arquetteasal
2024-11-17 19:47:02919semak imbas

How Can I Detect Changes in DOM Element Content Using jQuery?

Kesan Perubahan Kandungan Elemen DOM dalam jQuery

Sementara fungsi change() jQuery memantau perubahan dalam elemen bentuk secara berkesan, mengesan pengubahsuaian kandungan dalam elemen DOM menimbulkan cabaran.

Masalah:

Menentukan masa apabila kandungan elemen DOM diubah, seperti dengan menggunakan $("#content").html('something');, ialah tugas yang kompleks, kerana change() dihadkan untuk membentuk elemen. Fungsi html() dan append() tidak mempunyai panggilan balik.

Penyelesaian:

Pilihan 1: Leverage jQuery Chaining and Traversing

Untuk manipulasi DOM asas, gunakan jQuery chaining dan traversing untuk melaksanakan berbilang tindakan mengikut turutan. Contohnya:

$("#content").html('something').end().find(whatever)....

Pilihan 2: Laksanakan Peristiwa Tersuai dan Pengendalian Pencetus

Apabila tindakan yang lebih kompleks diperlukan, cipta acara tersuai dengan bind() jQuery dan mencetuskannya secara manual menggunakan triggerHandler().

$("#content").html('something').triggerHandler('customAction');

$('#content').unbind().bind('customAction', function(event, data) {
   //Custom-action
});

Perhatikan bahawa acara change() direka terutamanya untuk medan input. Jika manipulasi DOM berasal daripada kod, pertimbangkan untuk mengendalikannya di tempat manipulasi berlaku.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan Perubahan dalam Kandungan Elemen DOM Menggunakan 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