已经为每个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事件的元素不隐藏
那里return false是为了阻止冒泡,然后document我给绑定的有click事件 问题处有贴出来的
追答cityChoose 如果这些标签在li标签里面的话,你阻止了冒泡,document绑定的click事件是不会响应的。
你想要达到的效果就是点击其它地方隐藏这些显示的div,你可以在doument绑定的那个函数里面添加一个打印,看看会不会执行到。