Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich Dimensionsänderungen von DIV-Elementen zuverlässig erkennen?

Wie kann ich Dimensionsänderungen von DIV-Elementen zuverlässig erkennen?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-24 20:51:27311Durchsuche

How Can I Reliably Detect DIV Element Dimension Changes?

Erkennen von Dimensionsänderungen von DIV-Elementen

Sie sind auf Schwierigkeiten beim Erkennen von Dimensionsänderungen eines DIV-Elements gestoßen, wenn die Größe des Browserfensters geändert wird. In dieser Frage werden mögliche Lösungen für dieses Problem untersucht.

jQuery-Resize-Ereignisbindung

Ihr erster Ansatz, die Rückruffunktion an das jQuery-Resize-Ereignis auf dem DIV zu binden, ist falsch. Das Größenänderungsereignis wird nur ausgelöst, wenn die Größe des Fensters geändert wird, nicht wenn sich die Abmessungen des DIV ändern.

Lösung: Resize Observer API

Eine neuere Lösung ist die Größenänderung Observer-API, die eine gute Browserunterstützung bietet. Mit dieser API können Sie Änderungen in den Abmessungen eines Elements beobachten:

const observer = new ResizeObserver((entries) => {
  // Code to handle dimension changes
});

observer.observe(targetElement);

Im bereitgestellten HTML-Beispiel können Sie die Resize Observer API wie folgt verwenden:

const textbox = document.getElementById('textbox');
const width = document.getElementById('width');
const height = document.getElementById('height');

const observer = new ResizeObserver(() => {
  width.value = textbox.offsetWidth;
  height.value = textbox.offsetHeight;
});

observer.observe(textbox);

Dieser Code aktualisiert die Breiten- und Höhenausgaben, wenn sich die Abmessungen des Textfelds ändern.

Das obige ist der detaillierte Inhalt vonWie kann ich Dimensionsänderungen von DIV-Elementen zuverlässig 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