是的,这个问题之前已经被问到过,但并没有解决我的问题。当在任何地方点击时隐藏元素
所以你要考虑这个情况,说我有一个div让我们叫它container
,现在这个div包含像<a>, <img />, <div>, <ul>
以及你明白了吧等各种物体的很多 ...
现在,用户可以做东西在那个div,写信息等等......但是当他点击那个container
元素以外的任何地方时,它应该消失,所以这很简单吧?
$(document).on("click", document, function(event){
if($(event.target).is(".container")) return;
$(".container").hide();
});
那么这确实会工作,并在同一时间并非如此,因为如果目标不是container
它只会检查,如果你点击说一些按钮,它会dissapear为好,以及我可以只包括在if
声明中的每一个元素哦,但在我的情况下,这将是一个非常非常长的名单...所以必须有更好的方式
是的,我确实尝试使用event.stopPropagation()
,但它没有工作,我想这是因为我用on
而不是简单的click
事件,请帮我拿出这个...
我也有这个设置捣鼓你:http://jsfiddle.net/nVfJ5/