开发者

jQuery click() event catch-all?

开发者 https://www.devze.com 2023-01-17 12:42 出处:网络
we\'re showing a box on the screen that I want to hide when the user clicks anywhere on the screen, including body, anchors, divs, buttons, etc... Is there a selector that can handle this for me? Or i

we're showing a box on the screen that I want to hide when the user clicks anywhere on the screen, including body, anchors, divs, buttons, etc... Is there a selector that can handle this for me? Or is it a cas开发者_如何学Pythone of $('body, a, div, input').click()?


You can do it like this:

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

Since the click events will, by default, bubble up to document, this is a "catch all" approach...if you don't want clicks from inside the box to close it, add a .stopPropagation() call on those click events like this:

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


You can just bind to the click event of document element. Try it at http://jsfiddle.net/ZqEbY/.

0

精彩评论

暂无评论...
验证码 换一张
取 消