Rumah > hujung hadapan web > tutorial js > Bolehkah Anda Menjejaki Perubahan Atribut Gaya dalam JavaScript?

Bolehkah Anda Menjejaki Perubahan Atribut Gaya dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-11-10 03:08:02
asal
203 orang telah melayarinya

Can You Track Style Attribute Changes in JavaScript?

Adakah Kemungkinan untuk Memantau Perubahan Atribut Gaya?

Rangka kerja jQuery tidak mempunyai pendengar acara khusus untuk perubahan gaya. Walau bagaimanapun, memanfaatkan MutationObserver boleh menjejaki pengubahsuaian atribut 'style' dengan berkesan.

Menggunakan MutationObserver

const target = document.getElementById('myId');
const observer = new MutationObserver((mutations) => {
  mutations.forEach((mutationRecord) => {
    console.log('Style changed!');
  });
});

observer.observe(target, { attributes: true, attributeFilter: ['style'] });
Salin selepas log masuk

Dalam fungsi panggil balik, objek mutationRecord menyediakan akses kepada nilai gaya lama dan baharu.

Penyelesaian Sementara Menggunakan jQuery Override

Sebelum ini, penyelesaian berasaskan jQuery melibatkan mengatasi sementara kaedah prototype.css:

(function() {
  var ev = new $.Event('style');
  var orig = $.fn.css;
  $.fn.css = function() {
    $(this).trigger(ev);
    return orig.apply(this, arguments);
  }
})();
Salin selepas log masuk

Walaupun pendekatan ini tidak lagi diperlukan dengan MutationObserver sokongan, ia menunjukkan cara memintas perubahan gaya.

Pertimbangan Tambahan

MutationObserver disokong dengan baik dalam penyemak imbas moden, termasuk IE 11 , menjadikannya penyelesaian yang berdaya maju untuk mengesan pengubahsuaian atribut gaya.

Atas ialah kandungan terperinci Bolehkah Anda Menjejaki Perubahan Atribut Gaya dalam JavaScript?. 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