|
24.10.2012, 14:48
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Как отловить изменение computedStyle элемента
Нужно своевременно отреагировать на изменение некоторых css-свойств объекта. Причем необязательно новые свойства должны быть заданы в атрибуте style. свойства могут измениться у родителя и унаследоваться к примеру. Либо свойства могут быть заданы через css. В общем нужно отследить изменение в computedStyle элемента.
Какие события позволят это сделать?
|
|
24.10.2012, 15:56
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
нет таких.
|
|
25.10.2012, 01:39
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Печально.
Такие возможности влекут за собой проблемы с производительностью?
Или никому такое просто не нужно?
Или как обычно - проблем нет, всем нужно, но w3c пока проснутся, пройдет пара-тройка лет ?
Нашел такую либу: http://code.google.com/p/css-events/
Но там все реализуется по-жесткому, путем пропатчивания прототипов элементов.
|
|
25.10.2012, 06:09
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
если можно добраться до сеттера - то лучше в нём такой хук сделать, чем прототипы патчить ... т.е. все стили должны устанавливаться через какую-нибудь window.setStyle.
|
|
25.10.2012, 11:25
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,577
|
|
Проблемы с производительностью это само собой.
Но основная суть в том, что нормальный программист знает что у него происходит на странице: если что-то изменило стиль, то именно в той функции что производит изменения и вносятся нужные дополнения.
__________________
29375, 35
|
|
25.10.2012, 13:51
|
Кандидат Javascript-наук
|
|
Регистрация: 03.10.2012
Сообщений: 147
|
|
Если хотите отлавливать стили, нужно писать громадный шаблон css, я делал давно такую хренатень.
Там дурдом))), не советую так делать, я забил на это.
Сделал парсинг и все дела.
|
|
25.10.2012, 15:44
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от Aetae
|
нормальный программист знает что у него происходит на странице
|
А как нормальный программист может узнать что происходит на странице у того, кто подключил его скрипт?
Речь идет не о собственной страничке, а о скрипте, подключаемом к любой странице.
|
|
25.10.2012, 16:30
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
Сообщение от danik.js
|
А как нормальный программист может узнать что происходит на странице у того, кто подключил его скрипт?
Речь идет не о собственной страничке, а о скрипте, подключаемом к любой странице.
|
а. так бы сразу и сказал!
можно попробовать с помощью __defineSetter__, onpropertychange, но я не думаю, что это принесёт какой-то успех.
|
|
25.10.2012, 16:40
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Походу на сегодня эта задача не решаема. Пока что стоит костыль ввиде таймера, по которому проверяются изменения.
Если прямое изменение атрибута style еще может быть можно отловить, то изменения наследуемых, или указанных через селектор, стилей уже никак не отловишь... Чтож, придется подождать w3c годик-другой...
|
|
|
|