Вы можете использовать делегирование событий в документе, чтобы поймать все клики.
jQuery заполнит свойство target
event
, чтобы получить выбранный элемент.
$(document).click(function(event){
// event.target is the clicked object
});
Обратите внимание, что event.target
будет самым глубоким щелчком элемента. Пример: если в <a>
есть <span>
, вы получите <span>
, а не <a>
.
Если вы хотите поймать любой щелчок, но хотите получить определенный элемент (например, класс), вы можете сделать:
$(document).click(function(event){
$(event.target).closest(".clickable").each(function(){
// "this" is your "clickable" clicked
});
});
Если обработчик события для элемента по пути не делает event.stopPropagation()
или return false
, вы получите щелчок здесь.