#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()
вручную выбрать любое событие, которое вам нравится.