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


    <body style="text-align:center;">
      <input type="text" style="200px;height:30px;background:pink;margin-top:100px auto 0;">
      <div style="300px;height:300px;background:red;margin:0 auto;display:none;"></div>
    <script>
    var input=document.getElementsByTagName('input')[0];
    var div=document.getElementsByTagName('div')[0];
    //第一种写法
    input.addEventListener('click',function(event){
       event=event||window.event;
       div.style.display="block";
      event.stopPropagation();
    })
     document.addEventListener('click',function(event){
       event=event||window.event;
       div.style.display="none";
      event.stopPropagation();
    })
     div.addEventListener('click',function(event){
      event=event||window.event;
      div.style.display="block";
      event.stopPropagation();
     })

    第二种写法

    document.onclick=function(event){
      event=event||window.event;
      div.style.display="none";
      event.stopPropagation();
    }
    input.onclick=function(event){
      event=event||window.event;
      div.style.display="block";
      event.stopPropagation();
    }
    div.onclick=function(event){
      event=event||window.event;
      div.style.display="block";
      event.stopPropagation();
    }
    //阻止冒泡的兼容写法
    function stopEvent(event){
      var e=arguments.callee.caller.arguments[0] || event;//这里是因为除了IE有event其他浏览器没有所以要做兼容
      if(window.event){ //这是IE浏览器
        e.cancelBubble=true;//阻止冒泡事件
        e.returnValue=false;//阻止默认事件
      }else if(e && e.stopPropagation){ //这是其他浏览器
        e.stopPropagation();//阻止冒泡事件
        e.preventDefault();//阻止默认事件
      }
    }
    </script>
    </body>
  • 相关阅读:
    C Language Study
    html学习笔记五
    [CS]C#操作word
    bzoj2502 清理雪道
    Android Studio怎样查看资源或者函数在哪些类中被引用
    jvm载入过程
    poj2513(无向图判欧拉路)
    7 天玩转 ASP.NET MVC — 第 2 天
    从头认识java-18.2 主要的线程机制(7)join
    启动MFC程序的时候报错:0xC0000005: 读取位置 0x00000000 时发生访问冲突
  • 原文地址:https://www.cnblogs.com/fqh123/p/9853491.html
Copyright © 2020-2023  润新知