Какое изменение свойства HTMLElement генерирует DOMAttrModified? - PullRequest
1 голос
/ 29 марта 2012

У меня есть вопрос о DOMAttrModified.Какие изменения в свойствах элемента HTML инициируют событие DOMAttrModified (особенно интересует Firefox, но может также оказаться достаточным ответ, относящийся к другим браузерам)?

У меня есть следующий тестовый пример:

        var elem = document.createElement('input');
        document.body.appendChild(elem);

        elem.id    = 'inputId';      // triggers DOMAttrModified
        elem.type  = 'text';         // triggers DOMAttrModified
        elem.value = 'inputValue';   // DOES NOT trigger DOMAttrModified
        elem.lang  = 'en';           // triggers DOMAttrModified

Если я изменю elem.value на elem.defaultValue, то DOMAttrModified срабатывает.Есть ли где-нибудь исчерпывающий список?До сих пор я обнаружил, что HTMLInputElement 'value' и 'selected' и свойство HTMLOptionElement 'selected' не вызывают триггера DOMAttrModified.Есть ли другие?

Ответ на Визуальные атрибуты DOMAttrModified НЕ кажется полностью правильным, поскольку 'значение' также является атрибутом.

Спасибо, Sunil

Ответы [ 2 ]

3 голосов
/ 19 ноября 2012

Обратите также внимание, что при установке атрибута «disabled» события NO DOMAttrModified не запускаются Так что, если ваше мероприятие не стреляет, это может быть причиной. Это также относится к событию onPropertyChange только для IE.

3 голосов
/ 30 марта 2012

Свойство DOM value не меняет атрибут разметки HTML value.DOM defaultValue делает.DOMAttrModified срабатывает при изменении атрибутов разметки, поэтому setAttribute / removeAttribute вызывает и любой набор свойств, который изменяет атрибут.

...