【发布时间】:2013-06-03 04:00:41
【问题描述】:
// 我搜索过但没有运气,所以我开始一个新问题:)
我有:
<a class="icon hide-text" id="btnNoti5" href="#">Notification</a>
我想要这样:当我点击这个a 时,它会显示/隐藏一个 div,当我在该 div 之外点击时,如果它可见,它就会隐藏。
我使用此代码来显示/隐藏。它工作正常:
var divNotifi = $('#divNotifi');
$('#btnNoti5').click(function(e)
{
if (divNotifi.is(":visible"))
{
divNotifi.hide();
}
else
{
divNotifi.show();
}
}
但是当我添加此代码以在用户单击外部时隐藏 div 时,它实际上可以工作,但上面的代码停止工作:第一次单击,它显示 div。第二次点击:没有任何反应。 div 没有按预期隐藏。
$(document).mouseup(function (e)
{
var container = $("#divNotifi");
if (container.has(e.target).length == 0)
{
container.hide();
}
});
请帮助我。非常感谢。
【问题讨论】:
-
if (divNotifi.is(":visible")) { divNotifi.hide(); } else { divNotifi.show(); }只需使用:divNotifi.toggle() -
@gdoron 和@VJD:谢谢。我知道这个。但是如果我使用
toggle(),问题仍然存在:D
标签: javascript jquery