Я хотел бы запустить событие, когда что-либо на странице нажато, и затем обрабатывайте обычно. Например, щелчок был бы запущен, я буду видеть, соответствовала ли цель чему-то, предупреждение, если это сделало, и затем иметь событие щелчка, продолжается (нет preventDefault()
).
$(document).click(function(e) {
// e.target is the element which has been clicked.
});
Это будет обрабатывать все события щелчка, если только обработчик не предотвратит всплытие события (вызывая метод stopPropagation () объекта event ).
$("body").click(function (event) {
// Your stuff here
}
3 варианта для вас:
Вот как работает .live() в jquery. Все всплывает наверх и соответствует заданному вами селектору. http://api.jquery.com/live/
Более эффективным способом является использование .delegate, или предоставление контекста для .live(), чтобы не нужно было выводить пузырьки наверх. http://api.jquery.com/delegate/
Если вы хотите сделать это вручную, привяжите 'click' к документу и используйте .closest() для поиска ближайшего подходящего селектора: http://api.jquery.com/closest/
Это все та же концепция, делегирование событий, как уже упоминалось.