Wie sollten die Best Practices für die Größenänderung von Elementen beachtet werden?So erkennen Sie die Größenänderung von Elementen in HTML5
Ich möchte ein Element (jQuery Dialog in meinem Fall) neu positionieren, sobald es Größe geändert hat. Aber ich bin jetzt mehr daran interessiert, auf eine allgemeine Art und Weise zu tun, um das Größenänderungs-Ereignis zu hören, ohne zu wissen, wie die Größenänderung geschieht. Es nehme an, einfach zu sein, bis ich ein Element gefunden durch
- Fenstergröße ändern
- Inhalt Text ändert
- Kinder Elemente oder ihre Kinder Elemente der Größe verändert
- ein Geschwisterelement Resize (zB der Größe verändert werden Zelle in einer Tabelle)
- JavaScript ändert es src (von img)/style-Attribut direkt (oder Kind) der ist
- JavaScript umschreiben CSS-Regeln oder Sheet
- nativen Resize-Funktion Textfeld oder CSS3 resize
- Browser-Zoom oder
- CSS Übergang oder Animationen-Text vergrößert (von: schweben oder anderen Mitteln)
In dem de-facto-Standard gibt es ein Ereignis window.onresize
um die Größe eines Fensters/Frames zu subskribieren. Es gibt jedoch kein Standardereignis für den HTML-Inhalt oder die DOM-Elemente.
stoße ich auf den folgenden Gedanken
- DOM Level 3 Ereignisziel nur auf Fenster/Dokumenttyp
- IE onresize für Elemente hat, aber es ist nur IE Implementierung
- MutationObserver die Mutation Events ersetzen, aber es funktioniert nicht geeignet für die Notwendigkeit von "onresize"
- naive JavaScript-Abfrage
MutationObserver ist nahe (innere DOM-Änderungen), aber es (noch) nicht Browser (IE10 nicht unterstützt) und es erzeugt Lärm, nicht CSS bewusst.
Ein naives JavaScript-Polling sollte in jedem Fall funktionieren, aber es generiert entweder Verzögerung oder CPU-Verlust von vielen Poll.
ich einen Überblick über Bibliotheken geschrieben, die dies tun bei http://stackoverflow.com/q/37113134/1026 – Nickolay