Глобальный jQuery '.click ()'

Я хотел бы запустить событие, когда что-либо на странице нажато, и затем обрабатывайте обычно. Например, щелчок был бы запущен, я буду видеть, соответствовала ли цель чему-то, предупреждение, если это сделало, и затем иметь событие щелчка, продолжается (нет preventDefault()).

7
задан Josh K 24 June 2010 в 14:37
поделиться

3 ответа

$(document).click(function(e) {
    // e.target is the element which has been clicked.
});

Это будет обрабатывать все события щелчка, если только обработчик не предотвратит всплытие события (вызывая метод stopPropagation () объекта event ).

15
ответ дан 6 December 2019 в 12:46
поделиться
$("body").click(function (event) {
// Your stuff here
}
1
ответ дан 6 December 2019 в 12:46
поделиться

3 варианта для вас:

Вот как работает .live() в jquery. Все всплывает наверх и соответствует заданному вами селектору. http://api.jquery.com/live/

Более эффективным способом является использование .delegate, или предоставление контекста для .live(), чтобы не нужно было выводить пузырьки наверх. http://api.jquery.com/delegate/

Если вы хотите сделать это вручную, привяжите 'click' к документу и используйте .closest() для поиска ближайшего подходящего селектора: http://api.jquery.com/closest/

Это все та же концепция, делегирование событий, как уже упоминалось.

0
ответ дан 6 December 2019 в 12:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: