jQuery实现点击任意位置弹出层外关闭弹出层效果

时间:2021-05-26

在之前做项目的时候经常会在主页面上点击某个按钮,右侧弹出一个div输出对应内容的详细信息。此时,我是希望在鼠标点击弹出层外的时候关闭该弹出层,主要思想就是

找到鼠标点击的那个元素

判断这个元素是否在指定区域内,其实就是判断它的父元素是不是弹出层

如果不是就对弹出层进行hide,如果是就不进行任何操作

具体实现

该代码需要使用jQuery,代码如下:

$(document).mousedown(function(e){if($(e.target).parent("#info").length==0){$("#info").hide();}})$(document).mousedown(function(e){})

$(document)就是获取整个网页文档对象,类似于原生的window.ducument

mousedown是鼠标事件,是指当鼠标指针移动到元素上方并按下鼠标按键时,类似的事件还有:

mouseup:当在元素上放松鼠标按钮时

mouseover:当鼠标指针位于元素上方时

$(e.target)

$(e.target)表示获取点击事件的元素。

parent()

$(e.target).parent("#info").length是获取当前点击事件元素带有id为info的父元素。

以上所述是小编给大家介绍的jQuery实现点击任意位置弹出层外关闭弹出层效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章