jQuery .on(); vs JavaScript .addEventListener();

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

37
задан MonkeyCoder 24 January 2012 в 23:47
поделиться