点击空白处div隐藏,但是在触发别的click事件时该div也要隐藏
已经为每个click的元素处理冒泡$(document).click(function(event){$(".operate").hide(500);$(".person...
已经为每个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事件的元素不隐藏 展开
$(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.
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绑定的那个函数里面添加一个打印,看看会不会执行到。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询