Jakie powinny być najlepsze praktyki do nasłuchu na zdarzeniu zmiany rozmiaru elementu?Jak wykryć zmianę rozmiaru dowolnego elementu w HTML5
Chcę zmienić pozycję elementu (okno dialogowe jQuery w moim przypadku) po zmianie rozmiaru. Ale teraz jestem bardziej zainteresowany ogólnym sposobem, aby odsłuchać zmianę rozmiaru zdarzenia, nie zdając sobie sprawy z tego, jak zmienia się rozmiar. To niby ma być prosty, aż znalazłem element może być zmieniany przez
- okno rozmiaru
- zawartość tekstu zmienia
- dzieci elementów lub ich elementy dzieci zmieniany
- element rodzeństwo zmiany rozmiaru (np komórka w tabeli)
- JavaScript zmienia go src (IMG)/atrybutu stylu bezpośrednio (lub jego dziecka)
- JavaScript przepisać reguł CSS lub stylów
- rodzimy textarea funkcja zmiany rozmiaru lub CSS3 resize
- przeglądarki zoom lub tekstu powiększyć
- CSS przejścia lub animacji (przez: najechaniu lub inny średni)
w normie de facto, nie jest wydarzeniem window.onresize
aby zasubskrybować rozmiar na oknie/ramce. Ale nie ma standardowego zdarzenia w treści HTML lub elementach DOM.
spotykam następującej myśli
- DOM Level 3 cel zdarzenia tylko od rodzaju okna/dokumentu
- IE ma onresize dla elementów, ale to tylko IE realizacja
- MutationObserver które zastępują Mutation Events, ale robi nie pasuje do potrzeby "onresize"
- naiwny JavaScript sondowanie
MutationObserver jest blisko (wewnętrzne zmiany DOM), ale nie przepuszcza (jeszcze) przeglądarki (IE10 nie obsługuje) i generuje szum, a nie CSS.
Ankieta JavaScript naiwne powinna działać we wszystkich przypadkach, ale generuje opóźnienie lub marnowanie CPU na wiele ankiet.
napisałem przegląd bibliotek, które to zrobić w http://stackoverflow.com/q/37113134/1026 – Nickolay