Heim >Web-Frontend >js-Tutorial >Wie kann ich CSS-Eigenschaftsänderungen in jQuery erkennen?

Wie kann ich CSS-Eigenschaftsänderungen in jQuery erkennen?

DDD
DDDOriginal
2024-10-31 16:26:30538Durchsuche

How can I detect CSS property changes in jQuery?

Erkennen von CSS-Eigenschaftsänderungen mit jQuery

In JavaScript können Sie Änderungen an den CSS-Eigenschaften eines Elements mithilfe der in DOM L2 vorhandenen Mutationsereignisse erkennen Veranstaltungsmodul. Eines dieser Ereignisse, DOMAttrModified, überwacht speziell Änderungen an Elementattributen, einschließlich Stilattributen.

Um dieses Ereignis in jQuery zu verwenden, fügen Sie einfach einen Ereignis-Listener an das Element an, das Sie überwachen möchten. Zum Beispiel:

<code class="js">$("element").on("DOMAttrModified", function(e) {
  if (e.attrName === "style") {
    console.log("Style changed: ", e.prevValue, " -> ", e.newValue);
  }
});</code>

Dieser Code protokolliert die vorherigen und neuen CSS-Stile, wann immer das „style“-Attribut des Elements geändert wird.

Alternativen

Wenn DOMAttrModified in dem Browser, auf den Sie abzielen, nicht unterstützt wird, besteht ein alternativer Ansatz darin, das im Internet Explorer verfügbare Ereignis „propertychange“ zu verwenden. Dieses Ereignis kann auch Stiländerungen erkennen.

Hinweis

Es ist wichtig zu beachten, dass Mutationsereignisse, einschließlich DOMAttrModified, veraltet sind. Stattdessen wird die Verwendung von MutationObserver zur Überwachung von DOM-Änderungen, einschließlich CSS-Eigenschaftsänderungen, empfohlen.

Das obige ist der detaillierte Inhalt vonWie kann ich CSS-Eigenschaftsänderungen in jQuery erkennen?. 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