Я пытаюсь найти jQuery эквивалентным из этого вызова метода JavaScript:
document.addEventListener('click', select_element, true);
Я добрался до:
$(document).click(select_element);
но это не достигает того же результата, как последний параметр метода JavaScript - не учтена булевская переменная, которая указывает, должен ли обработчик событий быть выполнен в получении или пузырящейся фазе (на мое понимание с http://www.quirksmode.org/js/events_advanced.html)-.
Как я определяю, что параметр, или иначе достигают той же функциональности, с помощью jQuery?
Не все браузеры поддерживают захват событий (например, Internet Explorer версии меньше 9 не поддерживает), но все поддерживают всплывание событий, поэтому именно этот этап используется для привязки обработчиков к событиям во всех кроссбраузерных абстракциях, включая jQuery.
Наиболее близким к тому, что вы ищете в jQuery, является использование bind()
(замененного on()
в jQuery 1.7+) или специфических для события методов jQuery (в данном случае click()
, который в любом случае вызывает bind()
внутри). Все они используют фазу всплеска поднятого события.
Ближе всего к этому функция привязки:
$('#foo').bind('click', function() {
alert('User clicked on "foo."');
});