Как отловить изменение computedStyle элемента
Нужно своевременно отреагировать на изменение некоторых css-свойств объекта. Причем необязательно новые свойства должны быть заданы в атрибуте style. свойства могут измениться у родителя и унаследоваться к примеру. Либо свойства могут быть заданы через css. В общем нужно отследить изменение в computedStyle элемента.
Какие события позволят это сделать? |
нет таких.
|
Печально.
Такие возможности влекут за собой проблемы с производительностью? Или никому такое просто не нужно? Или как обычно - проблем нет, всем нужно, но w3c пока проснутся, пройдет пара-тройка лет ? Нашел такую либу: http://code.google.com/p/css-events/ Но там все реализуется по-жесткому, путем пропатчивания прототипов элементов. |
если можно добраться до сеттера - то лучше в нём такой хук сделать, чем прототипы патчить ... т.е. все стили должны устанавливаться через какую-нибудь window.setStyle.
|
Проблемы с производительностью это само собой.
Но основная суть в том, что нормальный программист знает что у него происходит на странице: если что-то изменило стиль, то именно в той функции что производит изменения и вносятся нужные дополнения. |
Если хотите отлавливать стили, нужно писать громадный шаблон css, я делал давно такую хренатень.
Там дурдом))), не советую так делать, я забил на это. Сделал парсинг и все дела. |
Цитата:
Речь идет не о собственной страничке, а о скрипте, подключаемом к любой странице. |
Цитата:
можно попробовать с помощью __defineSetter__, onpropertychange, но я не думаю, что это принесёт какой-то успех. |
Походу на сегодня эта задача не решаема. Пока что стоит костыль ввиде таймера, по которому проверяются изменения.
Если прямое изменение атрибута style еще может быть можно отловить, то изменения наследуемых, или указанных через селектор, стилей уже никак не отловишь... Чтож, придется подождать w3c годик-другой... |
Часовой пояс GMT +3, время: 01:16. |