Heim >Web-Frontend >js-Tutorial >Können Sie Stiländerungen in JavaScript überwachen?

Können Sie Stiländerungen in JavaScript überwachen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-11 13:09:03742Durchsuche

Can You Monitor Style Changes in JavaScript?

Können Sie Stiländerungen mit einem Event-Listener überwachen?

Im Bereich der Front-End-Entwicklung können Sie auf Stiländerungen reagieren dynamisch kann von unschätzbarem Wert sein. In der Vergangenheit gab es den Wunsch, einen jQuery-Ereignis-Listener zu erstellen, der alle Stiländerungen verfolgt. Diese Funktion war jedoch nicht nativ verfügbar.

Stattdessen wurde eine Problemumgehung entwickelt. Durch Überschreiben der internen CSS-Methode von jQuery könnte am Ende der Methode ein Trigger hinzugefügt werden, um ein Ereignis auszulösen, wenn eine Stiländerung auftritt:

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

Diese Lösung bot eine Möglichkeit, Ereignis-Listener an Stiländerungen zu binden:

$('p').bind('style', function(e) {
    console.log( $(this).attr('style') );
});

$('p').width(100);
$('p').css('color','red');

Moderne Techniken mit MutationObservers

Seitdem hat die Technologie Fortschritte gemacht, und MutationObservers bieten einen moderneren und standardkonformen Ansatz zur Erkennung von Änderungen im Attribut „Stil“. Jetzt ist kein jQuery erforderlich:

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutationRecord) {
        console.log('style changed!');
    });    
});

var target = document.getElementById('myId');
observer.observe(target, { attributes : true, attributeFilter : ['style'] });

Dieser Ansatz wird in den meisten modernen Browsern unterstützt, einschließlich Internet Explorer 11. Durch den Einsatz eines MutationObservers können Sie Stiländerungen effektiv überwachen und in Ihren Anwendungen entsprechend reagieren.

Das obige ist der detaillierte Inhalt vonKönnen Sie Stiländerungen in JavaScript überwachen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn