Ответ 1
Вы не можете. События jQuery работают с пузырьками событий, которые не поддерживают захват.
Также см.
У меня есть интересный вопрос о событии захват, пузырьки и jQuery.on()
.
Недавно я узнал больше о различии между захватом событий и пузырьками событий и тем, как два потока различаются в и из дочерних родительских элементов внутри DOM.
Итак, чтобы добавить прослушиватель событий с "направлением захвата событий" , я бы использовал:
element.addEventListener("click", myFunction, true);
и добавить прослушиватель событий с "курсом пузырьков событий" , я бы использовал:
element.addEventListener("click", myFunction, false);
Это хорошо и хорошо, но я хочу знать, когда используется jQuery.on()
для добавления прослушивателей событий, как определить направление события с точки зрения захвата и пузырирования?
В настоящее время я использую что-то вроде:
$('parent selector').on('click', 'child selector', function(){alert('just alert something already...');});
Как сообщить jQuery, что ему нужно добавить эти прослушиватели событий в направлении "создания событий" или "в пузырьках событий?
Вы не можете. События jQuery работают с пузырьками событий, которые не поддерживают захват.
Также см.
Вы можете использовать e.target, чтобы получить точный элемент, который был нажат
$('.parent').on('click', function(e){
if(e.target.classList.contains('child'))
// do something
}
})