js-点击div之外,隐藏div

JavaScript(事件流、事件委托、实例化、dom节点) 阅读详情

点弹窗之外,隐藏弹窗,或点击div之外,隐藏div

其实原理总结就两句话:

  • 给整个document添加监听点击事件,隐藏div
  • 给div添加监听点击事件,阻止冒泡

代码实现

html代码

<body>
  <!-- 要隐藏的div -->
  <div id="showDiv"></div>
</body>

js代码

const bt = document.getElementById('showButton');
const div = document.getElementById('showDiv');

bt.addEventListener('click',function(event){
  div.style.display = 'block';
  event.stopPropagation();//阻止冒泡
})

document.addEventListener('click',function(){
  div.style.display = 'none';//隐藏
});

div.addEventListener('click',function(event){
  event.stopPropagation();//阻止冒泡
})

实现效果

点击空白隐藏,点div不隐藏

完整代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    #showDiv{
      display: none;
      margin-top: 10px;
      height: 300px;
      width: 300px;
      background-color: aqua;
      border: 1px solid;
    }
  </style>
</head>
<body>
  <button id="showButton">显示div</button>
  <!-- 要隐藏的div -->
  <div id="showDiv"></div>

  <script>
    const bt = document.getElementById('showButton');
    const div = document.getElementById('showDiv');

    bt.addEventListener('click',function(event){
      div.style.display = 'block';
      event.stopPropagation();//阻止冒泡
    })

    document.addEventListener('click',function(){
      div.style.display = 'none';//隐藏
    });

    div.addEventListener('click',function(event){
      event.stopPropagation();//阻止冒泡
    })
  </script>
</body>
</html>

希望能帮助到大家,如果你也想和我一起学习前端,可查看个人首页其他文章,文章会不定期更新,关注我,让我们一起学习前端吧。

JQuery实现点击div以外的位置隐藏该div窗口 鼠标点击div外的地方让div窗口隐藏消失,实现方法有很多,在本文将为大家介绍下jquery中时如何实现的,感兴趣的朋友不要错过了哈 立即下载

相关推荐

JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例

主要介绍了JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能,结合实例形式分析了javascript事件响应及页面元素属性动态操作弹出与关闭遮罩层相关实现技巧,需要的朋友可以参考下

事件冒泡和捕获

<!-- 事件流 冒泡 从里向外 捕获 从外向里(ie不支持 ) 既有捕获 又有冒泡 先捕获 后冒泡(先从外到里 再从里向外) --> 测试代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <...

weixin_44021199的博客 376

腾讯会议+OBS虚拟摄像头:解决多人屏幕共享的终极指南(附常见问题排查)

本文详细介绍了如何利用OBS虚拟摄像头技术,解决腾讯会议中多人屏幕共享的痛点。通过将OBS作为视频混流中心,可以突破腾讯会议单屏共享的限制,实现多屏幕、多窗口内容的同步展示,并提升演示的专业度。文章涵盖了Windows与Linux双平台的配置步骤、高阶场景搭建以及常见问题(如黑屏、画中画)的排查方法,是团队协作与专业演示的实用指南。

i8j9k0l1的博客 930

js实现点击div之外区域,隐藏div

之前在学习的时候,发现别人用了这个contains属性,感觉还是很好用的,记录一下,以免忘记。在监听事件中,判断左侧盒子不包含点击的位置时,则关闭左侧盒子。js 判断是否包含某个DOM元素使用contains。点击左侧弹框之外的区域,会将左侧弹框关闭。

weixin_43239880的博客 3555

探针卡技术演进:从金线微针到MEMS探针的Wafer Sort革命

本文探讨了探针卡技术从传统金线微针到MEMS探针的演进,及其对晶圆测试(Wafer Sort)的革命性影响。随着芯片焊垫间距进入45微米以下,MEMS技术凭借其超高精度、超长寿命和卓越的信号完整性,成为应对高密度、高速及3D IC测试挑战的关键,显著提升了测试效率与稳定性。

lstm7chronicler的博客 365

机器视觉避坑指南:为什么你的Halcon划痕检测总漏检?(附优化方案)

本文深入剖析了Halcon在表面划痕检测中漏检率高的常见原因,如灰度值波动、噪声干扰及形态学参数设置不当。针对复杂背景与低对比度划痕,提出了超越官方例程的多尺度纹理分析与特征融合优化方案,旨在帮助开发者构建更鲁棒、稳定的机器视觉检测流程,有效提升检出率。

weixin_29057163的博客 234

Javascript 点击div之外任何地方,隐藏div

document.onclick = function (event) { var e = event || window.event; var elem = e.srcElement || e.target; while (elem) {

semanwmj的专栏 4655

Android应用之【巧妙隐藏桌面图标的进阶方案】

本文详细探讨了Android应用中隐藏桌面图标的进阶方案,解决了传统方法在Android 10及以上版本中出现的黑色图标残留问题。通过Intent-Filter配置和厂商适配技巧,实现子应用真正隐身,同时确保主应用正常启动。适用于企业工具套件、模块化系统等场景,提升用户体验和安全性。

weixin_28363123的博客 504

js点击input弹出一个框div,点击输入框和div之外的地方隐藏弹出框

利用了阻止冒泡的方法实现,先上样式 <input type="text" name="" id="" placeholder="请输入"> <div class="box"> <div class="box1"> 戳我 </div> </div> &...

LiuPangZi6的博客 2274

【WRF-Urban】WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WUDAPT详解:An Urban Weather, Climate, and Environmental Modeling Infrastructure

WW、forever的博客 495

[SV]SystemVerilog学习笔记之struct & union

SystemVerilog学习笔记(四) 一、结构体(struct) 1.1、结构体(struct) 结构体声明:结构体默认是变量,也可以声明为线网 var struct{ //通过var进行结构体变量声明 logic [31:0] a, b; logic [ 7:0] opcode; } Instruction_Word_var; wire struct{ //结构体线网声明,定义为线网类型时,结构体的所有成员必须...

元直的博客 1万+

js 点击除此div之外的地方隐藏

$("body").bind("click", function(e) { var target = $(e.target);if(target.closest(".photo img").length == 0) { //点击非当前元素,需要执行的代码}}) ...

qq_37465264的博客 975

RTDETR最强结构图 | 包含模型整体结构图 | 全模块展开图 | AiFi模块展开图

RT-DETR 最全结构图

Coding... 9595

(点击div之外的区域使div隐藏)原生js。事件代理和事件冒泡

var myDiv = $("#myDiv"); $(function() { $("#btn").click(function(event) { // showDiv();//调用显示DIV方法 $(myDiv).toggle(); $(document).one("click", function() { //对docu...

hahahhahahahha123456的博客 1090

Android 12.0 以太网和wifi共存的产品wifi优先级设置功能实现

在12.0的系统ROM定制化开发中,在对于一些有线网和wifi共存的产品中,由于某些产品的特殊要求首选使用wifi,而在原生 系统中以太网的优先级高于wifi的,所以就需要从优先级的设置来分析,实现设置优先级的相关功能实现

安卓兼职framework和app工程师的博客 943

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

js实现的点击div区域外隐藏div区域

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

金大光 1万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

鼠标点击div区域之外的地方后隐藏div

鼠标点击div区域之外的地方后隐藏div 用div做了一个code选择器,但div打开之后我想实现点击其他区域就可以自动隐藏的效果,最后解决方法: 第一步:在js中定义一个变量用来保存鼠标是否在div中这个状态:var isOut=true;(默认不再区域中) ...

440

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

当点击DIV以外的地方,隐藏该DIV

当点击DIV以外的地方,隐藏该DIV &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;...

iteye_7612的博客 471

js 点击元素以外的区域隐藏 实现

html>head>meta charset="utf-8">title>js实现的点击div区域外隐藏div区域title> style type="text/css"> #myDiv{ border:1px solid #000000; width:200px; height:100px; background:#FF0000; color: #FFFFFF; ma

坚持 9304

点击页面任何地方,将div隐藏,除了指定位置外

点击页面任何地方,将div隐藏,除了指定位置外。下面代码的意思是:div的id为aa,点击除了aa以外的任何地方,都可以使aa隐藏。 [code="javascript"] 无标题文档 div{border:1px solid #000; width:200px; height:200px; margin:10px; float:left} #aa{backgrou...

Jack 487

弹出DIV,点击其它区域让DIV关闭

在使用div模拟commbox时,一直无法实现“点击其它区域让DIV关闭”,在网上搜到的内容如下:感谢原作者<!--div {position: absolute;z-index: 1;background: #f00;top: 100px;width: 100px;height: 100px;}-->div {position: absolute;

志超的专栏 2682

点击右键和按钮进行显示隐藏div

代码如下: Document *{cursor: pointer;} #nav { width: 200px; height: 500px; background-color: red; border: 1px solid r

milijiangjun的博客 617

Js特效总结

1、//#hidediv2为一个需要隐藏的div 这个功能实现当点击hidediv2以外的其他任何位置时,隐藏该div $(document).click(function() { try { var _event = event ? event : window.event; var _tar...

dhpiy86426的专栏 117

js实现点击div以外区域,隐藏div区域

页面刚开始刷新时,是显示的; 点击左侧按钮、其他区域或右侧关闭按钮都可以使其隐藏,再点击左侧按钮显示; 注:先引入jQuery版本 JS <script type="text/javascript"> $(function() { $('.showBtn').click(function(event) { //取消事件冒泡 event.stopPropagation...

weixin_44711440的博客 2150
上一篇: js系列-File 对象,FileList 对象,FileReader 对象
下一篇: js系列-复制内容到粘贴板剪切板
前端蜗牛君
博客等级 码龄10年 274粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值