В чем разница между событиями DOM Level 0 и DOM Level 2? - PullRequest
4 голосов
/ 13 апреля 2011

В чем разница между событиями уровня DOM и событиями уровня 2?Я спрашиваю, потому что мне сказали, что Firefox и IE называют их в другом порядке, и я никогда раньше не слышал этих терминов.

Ответы [ 2 ]

8 голосов
/ 14 апреля 2011

События DOM уровня 0 были основаны на концепции использования атрибутов элементов или именованных событий на элементах DOM, например:

<input type="button" onclick="clickMe();" />

Или

input.onclick = function() { ... };

С DOM уровня 2 мыТеперь у нас есть более стандартизированный подход к управлению событиями и подписками, с addEventListener, removeEventListener и т. д.

Вы можете прочитать больше здесь здесь

Этотолько в IE8 Microsoft добавила в свой браузер поддержку стандарта W3C для управления событиями.Не уверен, в каком порядке они называются ....

1 голос
/ 10 ноября 2017

В дополнение к проблеме, о которой предыдущий ответ упоминал полностью и правильно, которая была сосредоточена на типе использования обработчиков событий для вызова функций или выполнения некоторого другого JavaScript (я имею в виду использование встроенной модели регистрации и традиционной модели регистрации по сравнению с использованием addEventListener (. ..), removeEventListener (...) или dispatchEvent (...)), а также для добавления дополнительной информации к этому дублированному вопросу , есть еще одно большое различие между DOM Level 0 и DOM Level 2 событие модель.

С помощью модели событий DOM Level 2 просто возможно, что конкретный объект (например, с помощью: document.getElementById ("elementId")), с конкретным событием (одно из нажатий или загрузка, ...) может быть зарегистрировано любое количество функций обработчика событий. Например:

<!DOCTYPE html>
<html>
    <body>
        <button id="btn">Test it</button>
        <script>
            document.getElementById("btn").addEventListener("click", function(){alert("first alert");});
            document.getElementById("btn").addEventListener("click", function(){alert("second alert");});
        </script>

    </body>
</html>

Это была одна из проблем в DOM Level 0, которая решается с помощью других решений .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...