点击空白处div隐藏,但是在触发别的click事件时该div也要隐藏

已经为每个click的元素处理冒泡
$(document).click(function(event) {
$(".operate").hide(500);
$(".person-details").hide(500);
$(".cityChoose").hide(500);
});
$(".header-right ul li:first").click(function(e) {
var cTop = $(this).offset().top + 30;
var cLeft = $(this).offset().left;
$(".cityChoose").css({
"top": cTop,
"left": cLeft
}).slideToggle();
return false;
})
像.operate,person-details,cityChoose打开页面一开始都是隐藏的,在触发各个click事件的时候他们才对应显示,现在的问题是$(document).click事件时,触发别的click事件,但是触发过click事件的元素不隐藏

$(".header-right ul li:first").click(function(e) {
var cTop = $(this).offset().top + 30;
var cLeft = $(this).offset().left;
$(".cityChoose").css({
"top": cTop,
"left": cLeft
}).slideToggle();
return false; //你在这里return了一个false不知道是不是这个问题。
})

然后我理一下你的思路。一开有几个div是隐藏的,执行一些操作的时候这些div就显示的,然后你想要实现一个用户点击其它地方的时候这些div有隐藏。如果思路是这样的话,你为什么不当这些div显示的时候再给document绑定click事件的。然后再函数里面通过event判断一下点击的是不是其它地方来判断是不是隐藏显示的div.追问

那里return false是为了阻止冒泡,然后document我给绑定的有click事件 问题处有贴出来的

追答

cityChoose 如果这些标签在li标签里面的话,你阻止了冒泡,document绑定的click事件是不会响应的。
你想要达到的效果就是点击其它地方隐藏这些显示的div,你可以在doument绑定的那个函数里面添加一个打印,看看会不会执行到。

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答