jquery div正确地打开/关闭隐藏的div
这个问题在这里已经有了答案:
$(document).click(function (eventObj) {
if (eventObj.target.id != "help-icon") {
$("#help-menu").hide();
} else {
$("#help-menu").toggle();
}
});
编辑:如果你想单击出现的div而不会再隐藏它:
$(document).click(function(eventObj)
{
if (eventObj.target.id == "help-icon") {
$("#help-menu").toggle();
} else if($(eventObj.target).hasClass("help-dropdown")) {
$("#help-menu").show();
} else {
$("#help-menu").hide();
}
});
在我的测试中,mouseup函数在点击函数之前触发。 mouseup函数检查事件的目标。 当你点击按钮时,mouseup事件的目标是按钮,所以mouseup函数隐藏div,然后点击函数触发并将div切换回可见状态。
我会做的只是在mouseup中检查事件的目标并跳过点击事件:
$(document).mouseup(function (e)
{
var hlpcont = $("#help-menu");
var hlpIcon = $("#help-icon");
if(hlpIcon.is(e.target)){
hlpcont.toggle();
}else
{
hlpcont.hide();
}
});
链接地址: http://www.djcxy.com/p/14721.html