Я пытаюсь найти 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()
любом случае вызывают внутренне). Все используют фазу барботирования возбужденного события.источник
Начиная с jQuery 1.7,
.on()
теперь предпочтительным является метод привязки событий, а не.bind()
:С http://api.jquery.com/bind/ :
Страница документации находится по адресу http://api.jquery.com/on/.
источник
Самая близкая вещь была бы функцией привязки:
http://api.jquery.com/bind/
источник
Единственное , что следует отметить , что методы событий JQuery не срабатывают / ловушку
load
наembed
теги , которые содержат SVG DOM , который загружает в качестве отдельного документа вembed
теге. Единственный способ отловитьload
событие на них - использовать сырой JavaScript.Это не будет работать (я пробовал
on
/bind
/load
методы):Тем не менее, это работает:
источник
$img
?Теперь вы должны использовать
.on()
функцию для привязки событий.источник
источник
Вот отличное решение для этой проблемы в Mozilla Development Network (MDN) для стандартного JavaScript (если вы не хотите полагаться на jQuery или лучше его понимаете):
https://developer.mozilla.org/en-US/docs/DOM/element.addEventListener
Вот обсуждение потока событий по ссылке в вышеупомянутой обработке:
http://www.w3.org/TR/DOM-Level-3-Events/#event-flow
Некоторые ключевые моменты:
источник