适用类型场景:一个弹窗或者展开一个模块,然后点击弹窗(模块)之外的空白,它会被关闭或者其他事件
$(document).mouseup(function(e){ var child = $(' 目标区域 '); // 设置目标区域 if(!child.is(e.target) && child.has(e.target).length === 0){ // 功能代码 } });
mouseup是鼠标松开事件,判断点击事件的 e.target 是否为非弹层区域
原理------>判断点击事件发生在区域外的条件是:
1. 点击事件的对象不是目标区域本身
2. 事件对象同时也不是目标区域的子元素
拓展:
1.e是事件对象:标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置在window.event对象中,所以兼容低版本的IE要加上这句e=e||window.event;
2.e.stopPropagation()阻止事件冒泡:
<head> <title></title> <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script> </head> <body> <table> <tr> <td><span>冒泡事件测试</span></td> </tr> </table> </body>
以下为阻止冒泡事件:
<script type="text/javascript"> $(function () { $("table").click(function () { alert("table alert"); }); $("td").click(function () { alert("td alert"); }); $("span").click(function (e){ alert("span alert"); e.stopPropagation();//没有它时,点击后会由内到外 }); }); </script>
如果想获得事件相关信息,就要给知识方法加一个e对象,e就是事件对象。
当我给整个document实现click事件是,可以给文本框和下拉选框阻止事件冒泡,使得再点击她们的同时不会使document触发事件。
3.e.preventDefault()阻止事件默认行为
$("a").click(function (e) { alert("默认行为被禁止喽"); e.preventDefault(); }); <a href="http://www.baidu.com">测试</a>
return false等效于同时调用e.preventDefault()和e.stopPropagation()
return false除了阻止默认行为之外,还会阻止事件冒泡
相关推荐
主要介绍了JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能,结合实例形式分析了javascript事件响应及页面元素属性动态操作弹出与关闭遮罩层相关实现技巧,需要的朋友可以参考下
ShapeTouch 该Javascript库用于实现H5中不规则图形按钮可点击区域的判断
各个不规则区域分别做一张图,每张图都只有一种颜色(准确说是一定范围的颜色),并且每张图的大小...然后点击的时候判断点击的颜色是否是透明就可以了,如果是透明那么不处理点击事件,如果不是透明那么需要处理事件。
js实现图片区域点击,适用于移动端,可以自定义区域进行操作点击,非canvas实现代码比较简单清晰!!!
主要介绍了js监听鼠标点击(onmousedown)和键盘点击(onkeydown)事件并自动跳转页面,很简单的一个实现
主要介绍了通过js实现点击div区域外隐藏div区域,原理及示例代码如下
简单的点击切换js,以及点击下拉,用来做左侧权状导航条
html,css,js,层显示隐藏,鼠标获得焦点显示层,当鼠标点击区域外的地方,层消失
echarts 全国地图 点击地图上的点,打开超链接 ,地图点击事件
百度地图,点聚合、点点击事件、聚合点击事件、分区域聚合
js 动态获取图片上的矩形热区,可随意选择区域。鼠标经过该区域时,会出现一半透明蒙版,显示该区域的位置大小。点击可超链接。创建的热区可修改链接,也可以动态删除热区
当实现类似Excel选中区域的功能时,经常出现 mouseup 事件丢失的情况,由于缺少了 mouseup 事件,导致一个完整的操作无法进行。 如果你是想进行拖拽移动操作,也可以参考本文。 原因 目前发现两个原因: 触发了...
这里采用了以下方法: ... 为需要预览的图片添加一个共同的 class 属性(例如 ...(可选)通过 addEventListener 方法将匿名函数绑定到窗口的 click 事件上,当用户点击预览框以外的区域时,也可以自动关闭预览框。
下载如有问题,可私信博主。下载前建议先查看博客内容,其地址为:https://blog.csdn.net/QQ98281642/article/details/118752011
按住鼠标左键选中区域元素框js代码是一款点击鼠标左键长按区域选择元素框的js网页特效。
js,点击按钮弹出窗体,并且让原来的网页变灰
class=Select_Region_bj 我给了一个灰色半透明的背景样式,后来在Javascript中写onclick事件无论这么写,点击内容区也是会关闭掉遮罩层。我百思不得其解到底怎么样写才能点击内容区不会关闭遮罩
当响应这个点击事件的时候,说明是在下拉列表范围外的点击(因为下拉列表内阻止了事件的冒泡),就可以关闭已经打开的下拉列表。 如果是纯 JS 代码,有人可能会使用 [removed] 来添加根节点事件。不过,我现在使用 ...