Ereigniserkennung für CSS-Eigenschaftsänderungen mit jQuery
Im Bereich der Webentwicklung kann die Erkennung von Änderungen an den CSS-Eigenschaften eines Elements hilfreich sein entscheidend für die Implementierung dynamischer Updates. Mit jQuery können Sie die Leistungsfähigkeit von DOM-Ereignissen nutzen, um Änderungen in CSS-Eigenschaften wie „Anzeige“ effektiv zu überwachen und darauf zu reagieren.
Verwenden von DOMAttrModified Event
Modern Browser bieten Unterstützung für DOM-Mutationsereignisse, zu denen das Ereignis DOMAttrModified gehört. Dieses Ereignis wurde speziell entwickelt, um Sie zu benachrichtigen, wenn die Attribute eines Elements geändert werden, einschließlich CSS-Eigenschaften, die inline oder über externe Stylesheets definiert sind.
Um das Ereignis DOMAttrModified zu nutzen, können Sie jQuerys [ verwenden &&&]on()-Funktion, wie gezeigt unten:
document.documentElement.addEventListener('DOMAttrModified', function(e){
if (e.attrName === 'style') {
console.log('prevValue: ' e.prevValue, 'newValue: ' e.newValue);
}
}, false);
document.documentElement.style.display = 'block';
In diesem Beispiel fügen wir einen Ereignis-Listener an das Element document.documentElement an, das das Stammverzeichnis des Dokuments darstellt. Wenn ein Stilattribut (z. B. „Anzeige“) geändert wird, wird dieser Ereignishandler ausgelöst, sodass Sie auf die vorherigen und aktuellen Werte des geänderten Attributs zugreifen können.
Nutzung des „propertychange“-Ereignisses von IE
Für ältere Browser, dieDOMAttrModified nicht unterstützen, können Sie den proprietären Internet Explorer verwenden "propertychange"-Ereignis als Fallback. Obwohl dieses Ereignis speziell vom IE unterstützt wird, kann es eine zuverlässige Methode zum Erkennen von Stiländerungen in diesen Umgebungen bieten.
Um das Ereignis"propertychange" zu verwenden, können Sie von jQuery verwenden. on()-Funktion mit einem String-Argument, wie im Folgenden gezeigt Beispiel:
document.documentElement.on('propertychange', function(e){
if (e.propertyName === 'display') {
console.log('prevValue: ' e.prevValue, 'newValue: ' e.newValue);
}
}, false);
document.documentElement.style.display = 'block';
Hinweis zu Mutationsbeobachtern
Während die oben genannten Techniken in der Vergangenheit gängige Ansätze zur Erkennung von CSS-Eigenschaftsänderungen waren, Neuere Browser empfehlen die Verwendung von Mutation Observers, die einen standardisierten und optimierten Mechanismus zur Überwachung bestimmter DOM-Elemente auf Änderungen bieten.Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3