Кто-нибудь может объяснить мне, почему существует разница в порядке выполнения обработчиков событий в зависимости от того, как они были прикреплены? В примере ниже я использую методы .on()
и .addEventListener()
для обработки определенного события на разных DOM
элементах.
jsfiddle: http://jsfiddle.net/etsS2/
Я подумал, что в этом конкретном примере порядок выполнения обработчиков событий будет зависеть от event-bubbling
- так что начиная с исходного события target
и двигаясь вверх к document
элементу.
document.getElementById('outer').addEventListener('mouseup', function (event) {
//$('#outer').on('mouseup', function (event) {
alert('This alert should not show up!');
}, false);
Если я откомментирую версию on();
, все работает как ожидалось - есть ли разница в том, как jQuery
обрабатывает события в отличие от обычного JavaScript
?