Может кто-нибудь объяснить мне, почему существует разница в порядке выполнения обработчиков событий в зависимости от того, как они были прикреплены? В приведенном ниже примере я использую методы .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?