У меня есть вопрос о DOMAttrModified. Какие изменения свойств HTML-элемента запускают событие DOMAttrModified (особенно интересует Firefox, но может быть достаточно ответа на другие браузеры)?Какое свойство свойства HTMLElement генерирует DOMAttrModified?
У меня есть следующий тестовый случай:
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 действительно становится срабатывает. Есть ли исчерпывающий список? До сих пор я обнаружил, что свойство «value» и «checked» HTMLInputElement и выбранное свойство HTMLOptionElement не запускают DOMAttrModified. Есть ли другие?
Ответ на вопрос DOMAttrModified visual attributes НЕ представляется абсолютно правильным, так как «значение» также является атрибутом.
Спасибо, Сунил
Спасибо за ответ. Но мой вопрос в том, есть ли полный список таких «специальных атрибутов» и другого «свойства», которые на самом деле не вызывают DOMAttrModified. До сих пор я обнаружил «значение» элемента «INPUT» и «checked», элемент «OPTION» «selected». И тогда есть такие свойства, как «scrollLeft» и «scrollTop», которые не вызывают DOMAttrModified (понятно). –
@SunilAgrawal Конечно. Посмотрите в спецификации HTML на определения всех свойств. Те, которые не говорят, что они отражают атрибут контента, не имеют ничего общего с атрибутами контента. Конечно, их нет. И все, что не определено в спецификации HTML, очевидно, не отражает атрибуты контента. –
Просто ради меня, пожалуйста, дайте мне несколько примеров (кроме тех, которые я упомянул выше). Просто хочу, чтобы я понял ответ :). –