js点击任意区域弹出层消失实现代码
2019/6/27 21:31:53
本文主要是介绍js点击任意区域弹出层消失实现代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例为大家分享了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>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。
这篇关于js点击任意区域弹出层消失实现代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-28Vue CLI资料入门教程
- 2024-11-28Vue CLI资料:新手入门指南
- 2024-11-28Threejs的三维坐标系
- 2024-11-27AntDesignVue入门指南:轻松搭建美观的Vue项目
- 2024-11-27Egg.js入门指南:新手必备的零基础教程
- 2024-11-27Hotkeys.js开发入门教程
- 2024-11-27Ant Design Vue入门指南:轻松搭建美观界面
- 2024-11-27Vue3项目实战:从零开始的完整指南
- 2024-11-27Vue CLI多环境配置资料详解
- 2024-11-27Vue3+Vite资料:新手入门教程