JQuery click() событие catch-all?

мы показываем окно на экране, которое я хочу скрыть, когда пользователь щелкает в любом месте экрана, включая тело, якоря, divs, кнопки и т.д. Есть ли селектор, который может справиться с этим для меня? Или это случай $('body, a, div, input').click()?

Ответ 1

Вы можете сделать это следующим образом:

$(document).click(function() {
  $("#boxID").hide();
});

Поскольку события click по умолчанию будут пузырьки вверх до document, это подход "поймать все"..Если вы не хотите кликов изнутри, чтобы закрыть его, добавьте .stopPropagation() на те события click, как это:

$("#boxID").click(function(e) {
  e.stopPropagation();
});

Ответ 2

Вы можете просто привязать событие click элемента документа. Попробуйте в http://jsfiddle.net/ZqEbY/.