Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2012, 14:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Как отловить изменение computedStyle элемента
Нужно своевременно отреагировать на изменение некоторых css-свойств объекта. Причем необязательно новые свойства должны быть заданы в атрибуте style. свойства могут измениться у родителя и унаследоваться к примеру. Либо свойства могут быть заданы через css. В общем нужно отследить изменение в computedStyle элемента.

Какие события позволят это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 24.10.2012, 15:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

нет таких.
Ответить с цитированием
  #3 (permalink)  
Старый 25.10.2012, 01:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Печально.

Такие возможности влекут за собой проблемы с производительностью?
Или никому такое просто не нужно?

Или как обычно - проблем нет, всем нужно, но w3c пока проснутся, пройдет пара-тройка лет ?

Нашел такую либу: http://code.google.com/p/css-events/

Но там все реализуется по-жесткому, путем пропатчивания прототипов элементов.
Ответить с цитированием
  #4 (permalink)  
Старый 25.10.2012, 06:09
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

если можно добраться до сеттера - то лучше в нём такой хук сделать, чем прототипы патчить ... т.е. все стили должны устанавливаться через какую-нибудь window.setStyle.
Ответить с цитированием
  #5 (permalink)  
Старый 25.10.2012, 11:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,577

Проблемы с производительностью это само собой.
Но основная суть в том, что нормальный программист знает что у него происходит на странице: если что-то изменило стиль, то именно в той функции что производит изменения и вносятся нужные дополнения.
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 25.10.2012, 13:51
Кандидат Javascript-наук
Отправить личное сообщение для Your Посмотреть профиль Найти все сообщения от Your
 
Регистрация: 03.10.2012
Сообщений: 147

Если хотите отлавливать стили, нужно писать громадный шаблон css, я делал давно такую хренатень.

Там дурдом))), не советую так делать, я забил на это.
Сделал парсинг и все дела.
Ответить с цитированием
  #7 (permalink)  
Старый 25.10.2012, 15:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Aetae
нормальный программист знает что у него происходит на странице
А как нормальный программист может узнать что происходит на странице у того, кто подключил его скрипт?

Речь идет не о собственной страничке, а о скрипте, подключаемом к любой странице.
Ответить с цитированием
  #8 (permalink)  
Старый 25.10.2012, 16:30
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от danik.js Посмотреть сообщение
А как нормальный программист может узнать что происходит на странице у того, кто подключил его скрипт?

Речь идет не о собственной страничке, а о скрипте, подключаемом к любой странице.
а. так бы сразу и сказал!

можно попробовать с помощью __defineSetter__, onpropertychange, но я не думаю, что это принесёт какой-то успех.
Ответить с цитированием
  #9 (permalink)  
Старый 25.10.2012, 16:40
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Походу на сегодня эта задача не решаема. Пока что стоит костыль ввиде таймера, по которому проверяются изменения.

Если прямое изменение атрибута style еще может быть можно отловить, то изменения наследуемых, или указанных через селектор, стилей уже никак не отловишь... Чтож, придется подождать w3c годик-другой...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отловить обратное событие "click" ? jsuse Общие вопросы Javascript 2 18.01.2012 00:16
Как можно отловить id который добавил с помощью append() ? saturn Элементы интерфейса 4 17.01.2012 01:35
Как задать изменение src при прокрутке chandler Элементы интерфейса 3 12.01.2012 01:23
Как то можно узнать ID HTML элемента вызвавшего JavaScript функцию? Opusel Events/DOM/Window 1 18.12.2011 18:36
Частичное изменение содержимого элемента kuhok Events/DOM/Window 28 07.09.2009 22:44