js点击页面其它地方将某个显示的DIV隐藏

 我来答
萧德伏美丽
2019-11-07 · TA获得超过3920个赞
知道大有可为答主
回答量:3105
采纳率:30%
帮助的人:450万
展开全部
实现也很简单,但需要注意的是,在点击显示的事件中,需要做阻止事件冒泡的处理,否则就触发页面的点击事件了。但这样做也有一个缺点,即如果同一个页面中如果也有事件阻止冒泡,则不能隐藏DIV,所以在这样的事件中需要特殊处理下:自己调用隐藏下DIV(但正常来说这样的事件并不多);
JS:
复制代码
代码如下:
$(document).ready(function()
{
//语言头部的点击事件,显示语言列表
$(".language_selected").click(function(e)
{
$(".language_list").toggle();
e.stopPropagation();
//阻止事件冒泡,否则事件会冒泡到下面的文档点击事件
});
//点击文档时,隐藏语言列表
$(document).click(function()
{
$(".language_list").hide();
});
//点击语言列表中的语言项时,更新选中项,并隐藏语言列表
$(".language_list
li").click(function()
{
$(".language_selected").text($(this).text());
$(".language_list").hide();
});
$("#noPopEvent").click(function(e)
{
e.stopPropagation();
});
});
CSS:
复制代码
代码如下:
.language_selected
{
cursor:
pointer;
}
.language_list
{
border:
1px
solid
black;
display:
none;
}
.language_list
li
{
cursor:
pointer;
border:
1px
solid
red;
}
HTML:
复制代码
代码如下:
<div
style="width:
200px">
<div
class="language_selected">
中文(简体)</div>
<div
class="language_list">
<ul>
<li>中文(简体)</li>
<li>English</li>
</ul>
</div>
</div>
<div
id="noPopEvent"
style="width:
100px;
height:
100px;
border:
1px
solid
black;">
点击我,不隐藏语言列表,需要自己显示DIV
</div>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式