Любое событие для обнаружения изменения атрибута Class для элемента управления.

У меня есть элемент управления "div" с некоторым id="myDiv" class="myClass" var var1=10; в Javascript. В зависимости от действий пользователя я изменю класс этого элемента управления с «myClass» на «newClass», поэтому, когда это произойдет, я хочу изменить значение var1 на 20.

Так как же мне распознать это изменение в классе?


person user695663    schedule 05.05.2011    source источник
comment
почему вы не можете изменить значение при изменении класса?   -  person Aleadam    schedule 06.05.2011
comment
изменение класса выполняется в плагине Jquery, поэтому я не хочу вносить туда изменения.   -  person user695663    schedule 06.05.2011


Ответы (2)


Вы можете использовать onpropertychange (IE) и DOMAttrModified (другие)

person Dr.Molle    schedule 05.05.2011
comment
Что не помогло? Вы найдете пример использования по адресу help.dottoro.com/ljdchxcl.php. , и это работает. - person Dr.Molle; 07.05.2011

Вам нужно будет использовать 3 вещи:

  1. Событие onpropertychange для IE ‹ 9
  2. DOMAttrModified, работает в IE9, Opera, Firefox и, к сожалению, во всех других, как предполагает Dr.Molle
  3. Все остальное - нужно прибегнуть к циклу setInterval, который проверяет, изменилось ли значение, включая браузеры webkit (chrome и safari), так как они все еще не имеют поддержки DOMAttrModified, поэтому - вам придется прибегнуть для циклической проверки этих браузеров.

Есть плагин jQuery, который реализует это (на странице также есть демо):

http://darcyclarke.me/dev/watch/

person ThatGuy    schedule 05.08.2011