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!