我有一个类似的功能
$(document).mouseup(function (e)
{
var container = $("#id1");
if (!container.is(e.target) // if the target of the click isn't the container...
&& container.has(e.target).length === 0) // ... nor a descendant of the container
{
container.fadeOut();
}
var container2 = $("#id2");
if (!container2.is(e.target) // if the target of the click isn't the container...
&& container2.has(e.target).length === 0) // ... nor a descendant of the container
{
container2.fadeOut();
}
}
它基本上检查,如果点击发生在div之外,如果是,则div淡出。但是,我喜欢15-20来检查并想知道是否存在比复制和粘贴更短的解决方案。
谢谢!
答案 0 :(得分:1)
给每个div都是同一个类并尝试这个:
$(".yourClass").each(function() {
if (!this.is(e.target) // if the target of the click isn't the container...
&& this.has(e.target).length === 0) // ... nor a descendant of the container
{
this.fadeOut();
}
});