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/.