Разница между обработчиком событий HTML и обработчиком событий DOM уровня 0

Может ли кто-нибудь сказать мне, в чем разница между реализацией обработчика событий HTML и обработчиком событий DOM уровня 0 в JavaScript?


person Jonny    schedule 15.10.2015    source источник
comment
Это может быть вам полезно: stackoverflow.com/q/5642659/830125   -  person Drew Gaynor    schedule 15.10.2015
comment
Большое спасибо, но на самом деле это не отвечает, в чем разница   -  person Jonny    schedule 15.10.2015
comment
Спецификации DOM L0 не существует, этот термин использовался только для обозначения нестандартных широко распространенных функций. Затем они были стандартизированы в HTML.   -  person Oriol    schedule 15.10.2015
comment
Спасибо! Это был вопрос на моем тесте, и он как-то объяснил это так: один делает onclick=, а другой говорит, что определяет переменную _b=document.getElementby, затем _b.onclick=.   -  person Jonny    schedule 15.10.2015
comment
Я думаю, что этот вопрос следует уточнить, чтобы было ясно, о чем спрашивают: а) Как можно регистрировать события одним из двух методов? или б) Как браузеры реализуют каждый из двух методов?, или, может быть, в) что-то еще..., и если ни один из предыдущих, то выберите г) закрыть его   -  person Alin Purcaru    schedule 11.11.2015


Ответы (1)


События DOM0 — это декларативные события, определенные в спецификациях HTML и XHTML как внутренние события:

Внутренние события — это атрибуты, которые используются в сочетании с элементами, которые могут иметь определенные события, когда определенные действия выполняются пользователем. Атрибуты, указанные в следующей таблице, добавляются к набору атрибутов соответствующих элементов только тогда, когда выбраны модули, определяющие эти элементы.

Некоторые элементы языка разметки могут иметь связанные обработчики событий, которые активируются при возникновении определенных событий. Пользовательские агенты должны иметь возможность идентифицировать эти элементы со статически связанными обработчиками событий (т. е. связанными в содержимом, а не в сценарии). В HTML 4 ([HTML4], раздел 18.2.3) внутренние события задаются атрибутами, начинающимися с префикса: onblur, onchange, onclick, ondblclick, onkeydown, onkeypress, onkeyup, onload, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onreset, onselect, onsubmit, and onunload.

Internet Explorer имеет правильную область действия для обработчиков событий, определенных с помощью метода назначения свойств уровня DOM 0, но не при использовании attachEvent().

 The Level 0 DOM supports the following nodeLists:

document.images[], which grants access to all images on the page.
document.forms[], which grants access to all forms on the page.
document.forms[].elements[], which grants access to all form fields in one form, whatever their tag name. This nodeList is unique to the Level 0 DOM; the W3C DOM does not have a similar construct.
document.links[], which grants access to all links () on the page.
document.anchors[], which grants access to all anchors () on the page.

События фокуса, определенные в этой спецификации, происходят в установленном порядке относительно друг друга. Ниже приведена типичная последовательность событий, когда фокус перемещается между элементами (этот порядок предполагает, что ни один элемент изначально не был сфокусирован):


Event Name  Notes
1.  focusin Sent before first target element receives focus
2.  focus   Sent after first target element receives focus
3.  focusout    Sent before first target element loses focus
4.  focusin Sent before second target element receives focus
5.  blur    Sent after first target element loses focus
6.  focus   Sent after second target element receives focus

Ниже приведена типичная последовательность событий при смещении фокуса между элементами, включая устаревшие события DOMFocusIn и DOMFocusOut. Показанный порядок предполагает, что изначально ни один элемент не находится в фокусе.

C.2.1 Legacy FocusEvent event order

Event Name  Notes
1.  focusin Sent before first target element receives focus
2.  focus   Sent after first target element receives focus
3.  DOMFocusIn  If supported
4.  focusout    Sent before first target element loses focus
5.  focusin Sent before second target element receives focus
6.  blur    Sent after first target element loses focus
7.  DOMFocusOut If supported
8.  focus   Sent after second target element receives focus
9.  DOMFocusIn  If supported

HTML-события — это императивные события, определенные в спецификации DOM как HTMLEvents:

<iframe src="https://www.w3.org/DOM/Graphics/dom2-map.svg" width="900" height="400"></iframe>
<img src="https://www.w3.org/TR/DOM-Level-3-Events/images/eventflow.svg" width="400" height="400"/>

Ссылки

person Paul Sweatte    schedule 20.01.2016