0

我有一个href,它在屏幕中间打开一张照片(把它想象成fancybox/lightbox/lytebox),当用户点击网站上的任何地方时,我想关闭它,除了带有照片的div。

如何使用 jQuery 来定位它?

4

1 回答 1

0

使用 jQuery.not()方法。

$(".elements").not(".this-element").on("click", function() {
  $(".this-element").hide();
});​

http://jsfiddle.net/6McAF/

更新

正如@nnnnnn所指出的,这样做时会遇到一些复杂的传播问题。更好的方法是使用覆盖 div(z-index 小于您要隐藏的元素,如@j08691 所述),并绑定到它。

或者添加另一个处理程序(我不推荐):

$(".this-element").on("click", function(e) {
  e.stopPropagation(); // ugly boilerplate to fix thoughtless bindings
);
于 2012-11-20T00:42:00.013 回答