jQuery click() событие - все?

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

2 ответа

Решение

Вы можете сделать это так:

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

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

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

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

Другие вопросы по тегам