Любое событие, определяющее изменение атрибута «Class» для элемента управления

#javascript #jquery #jquery-ui #javascript-framework #jquery-events

#javascript #jquery #jquery-пользовательский интерфейс #javascript-framework #jquery-события

Вопрос:

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

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

Комментарии:

1. почему вы не можете изменить значение при изменении класса?

2. изменение класса выполняется в плагине Jquery, поэтому я не хочу вносить изменения там.

Ответ №1:

Вам придется использовать 3 вещи:

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

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

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

Ответ №2:

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

Комментарии:

1. Что не помогло? Вы найдете пример использования is на help.dottoro.com/ljdchxcl.php , и это работает.