jQuery click()事件catch-all?

时间:2010-09-21 15:35:11

标签: jquery jquery-selectors jquery-click-event

当用户点击屏幕上的任意位置时,我们会在屏幕上显示一个我要隐藏的框,包括正文,锚点,div,按钮等...是否有可以为我处理此选项的选择器?或者是$('body, a, div, input').click()的情况?

2 个答案:

答案 0 :(得分:25)

你可以这样做:

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

由于click事件默认情况下为bubble updocument,因此这是一种“全部捕捉”方法...如果您不希望点击框中关闭它,在这些 click事件上添加.stopPropagation()调用,如下所示:

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

答案 1 :(得分:1)

您只需绑定到document元素的click事件即可。在http://jsfiddle.net/ZqEbY/处尝试。