2011-02-02 5 views
3

나는 <ul><li> 목록이 있으며 각 <li>의 현재 width/height에 대해 통보해야합니다. 의 말을하자 그 외부 원인 (안 내 자신의 코드)에 의해 이러한 특성 중 하나가 변경, 예를 들어, 다른 스크립트, 스타일의 교환, 또는 내가 내 자신의 코드를 제어 할 수 비슷한에 의해, 브라우저의 크기를 조정하여.HTML DOM 요소 속성 변경 사항을 알리는 효과적인 방법이 있습니까?

이러한 변경 사항을 추적하는 가장 효과적이고 효율적인 (성능) 방법은 무엇입니까?

내 첫 번째 솔루션은 setInterval(myMonitorFunction, 100)이며 모든 관련 DOM 요소를 반복합니다. 이것은 느린 (100ms) 요소 목록이 커질수록 많은 성능을 소비합니다.

양식 요소의 경우 입력 값을 효율적으로 모니터링 할 수있는 onchanged 이벤트가 있습니다. 나는 모든/다른 DOM 엘리먼트 속성과 비슷한 (그리고 비슷한 효율적인) 것을 찾고 있는데 아직 좋은 해결책을 찾을 수 없었다.

들으, 유벤투스

답변

1

DOMAttrModified 이벤트있다하지만 그것은 단지 현대적인 브라우저에서 지원합니다. 구형 브라우저 (예 : IE)를 지원하려는 경우 여기에 언급 한 것 이외의 쉬운 방법은 없습니다 (이는 잔인한 일입니다).

+0

고마워, 그게 내가 찾고 있었던 것이었다. 나는 오래된 브라우저는 신경 쓰지 않는다. 저는 또한 SVG를 많이 사용하고 있으며, 무엇이든 생생하게 살아갈 수 있기 전에 현대적인 브라우저가 SVG의 많은 기능을 완벽하게 완벽하게 지원할 때까지 기다려야합니다. ;) – Juve

+0

올바른 대답이지만 돌연변이 이벤트는 성능에 좋지 않습니다. – Ms2ger

관련 문제