Существуют ли какие-либо события JS для атрибутов HTML?

#javascript #html

Вопрос:

Я заметил, что document.createAttribute('myAttr') это создает экземпляр Attr класса как в FF, так и в Chrome. Я также заметил, что Attr , унаследовав от EventTarget класса, он действительно раскрывает все *EventListener функции.

Но я никогда не слышал о событии, связанном с атрибутом, поэтому, если они запускают события, какие события они запускают? и когда?

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

1. Вероятно, по сути, ошибка в дизайне. В соответствии со спецификацией: Если бы они были разработаны сегодня, у них было бы только название и ценность. ☹ Нет особой пользы в том, чтобы Attr начинался с AFAIK

2. @CertainPerformance в некоторых случаях на самом деле необходим доступ к узлу атрибутов, не столько в HTML, сколько в XML, в вашем документе могут быть войны пространств имен и несколько атрибутов, имеющих одно и то же «имя» для одного и того же элемента. Там наличие интерфейса Attr очень удобно.

Ответ №1:

Он наследует EventTarget интерфейс от своего Node наследования.
Различные узлы имеют события, запускающие их, Attr не имеют никаких «встроенных», но, поскольку они являются узлами, они также предоставляют методы EventTarget.

Но, как и в случае с каждым событием, вы можете dispatchEvent() вручную выбрать любое событие, которое вам нравится.