js点击任意区域弹出层消失实现代码


Posted in Javascript onDecember 27, 2016

本文实例为大家分享了js点击任意区域弹出层消失的具体代码,供大家参考,具体内容如下

采用jquery element.parents();判断点击区域是否在弹出层上面或者在按钮上面,否则让弹出层消失。

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>

<pre>
 parent > child
 在给定的父元素下匹配所有的子元素
</pre>

<div class="help">
 <span class="bnt">我是弹出层</span>
 <ul id="list" class="foo">
 <li><a href="#">第1条记录</a></li>
 <li><a href="#">第2条记录</a></li>
 <li><a href="#">第3条记录</a></li>
 <li><a href="#">第4条记录</a></li>
 </ul>
</div>

<style>
 .bnt{
 width: 100px;height: 50px;background: #777;color: #fff;
 display: block;
 text-align: center;
 line-height: 50px;
 cursor: default;
 }
 .help ul{
 display: none;
 border: 1px solid #aaa;
 }
 a{display: block;padding: 10px;}
</style>

<script src="../jquery.js"></script>
<script>

 (function ($) {
 $('.bnt').click(function(){
  if($(this).hasClass('show')){
  $('.help ul').hide();
  $(this).removeClass('show')
  return ;
  }

  $('.help ul').show();
  $(this).addClass('show')

 })

 document.addEventListener('click',function (e) {
  var parent=$(e.target).parents('.foo,.help');

  if(parent.length===0){
  console.log('不在弹层与按钮区')
  //操作此区域

  $('.help ul').hide();
  $('.bnt').removeClass('show');

  }else{
  console.log('按钮与弹层区')
  }
 })
 })(jQuery);
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js之onload事件的一点使用心得
Aug 14 Javascript
AJAX跨域请求json数据的实现方法
Nov 11 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
May 17 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
Mar 30 Javascript
分析JS单线程异步io回调的特性
Dec 01 Javascript
基于layui数据表格以及传数据的方式
Aug 19 Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 Javascript
vue filter 完美时间日期格式的代码
Aug 14 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
Oct 23 Javascript
javascript 原型与原型链的理解及实例分析
Nov 23 Javascript
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
JS正则表达式修饰符中multiline(/m)用法分析
Dec 27 #Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 #Javascript
webuploader模态框ueditor显示问题解决方法
Dec 27 #Javascript
正则中的回溯定义与用法分析【JS与java实现】
Dec 27 #Javascript
Vue.js双向绑定操作技巧(初级入门)
Dec 27 #Javascript
JS实现页面中所有img对象添加onclick事件及新窗口查看图片的方法
Dec 27 #Javascript
JS使用正则实现去掉字符串左右空格的方法
Dec 27 #Javascript
You might like
PHP以及MYSQL日期比较方法
2012/11/29 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
php中如何判断一个网页请求是ajax请求还是普通请求
2013/08/10 PHP
php中memcache 基本操作实例
2015/05/17 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
零基础php编程好学吗
2019/10/11 PHP
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
2008/09/27 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
jQuery圆形统计图开发实例
2015/01/04 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
AngularJS入门教程引导程序
2016/08/18 Javascript
D3.js实现柱状图的方法详解
2016/09/21 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
vue.js实现带日期星期的数字时钟功能示例
2018/08/28 Javascript
Angular+Ionic使用queryParams实现跳转页传值的方法
2020/09/05 Javascript
ES2020让代码更优美的运算符 (?.) (??)
2021/01/04 Javascript
[04:49]2014DOTA2国际邀请赛 Newbee顺利挺进总决赛 ImbaTV独家专访
2014/07/19 DOTA
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python append、extend与insert的区别
2016/10/13 Python
详解python之多进程和进程池(Processing库)
2017/06/09 Python
使用python实现ANN
2017/12/20 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
python Django框架实现web端分页呈现数据
2019/10/31 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
写一个函数返回1+2+3+…+n的值(假定结果不会超过长整型变量的范围)
2014/09/05 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
护士演讲稿范文
2014/01/05 职场文书
英文演讲稿
2014/05/15 职场文书
人事专员岗位说明书
2014/07/29 职场文书
标准离婚协议书范文下载
2014/11/30 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
解决mysql的int型主键自增问题
2021/07/15 MySQL