zoukankan      html  css  js  c++  java
  • 事件冒泡机制

                      事件处理,冒泡机制

    默认是存在的。

    <!DOCTYPE html>
    <!--
    作者:1243860037@qq.com
    时间:2017-10-24
    描述:
    事件处理,冒泡机制
    -->
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <style>
    img{display: none;}
    </style>
    <script>
    window.onload=function()
    {
    /*现象:
    *这里以图片作为例子,日常中,如下拉菜单,当鼠标在菜单内时,菜单会显示,当鼠标离开时菜单缩回,这里
    * 以点击按钮图片显示,点击文档其它地方图片隐藏为例子,会发现,功能无法实现,点击按钮图片无法显示。
    * 原因:
    * 因为有事件冒泡机制--------“当一个元素接收到事件时,会把接收到的所有传播给父级,父级也向上传递”
    * 这里button的某一辈父级就是document,所以也触发了document的点击事件,不是图片没有显示,而是在很短的
    * 时间内图片显示又隐藏。可以添加一个settimtout来放慢看
    * 不能理解为button在document内,点击button同时也点击doc,这里要从元素的层级关系来看。
    */
    var obtn=document.getElementById("btn");
    var oimg=document.getElementById("img1");
    obtn.onclick=function()
    {
    oimg.style.display="block";
    }
    document.onclick=function()
    {
    oimg.style.display="none";
    }
    }
    </script>
    </head>
    <body>
    <input type="button" id="btn" value="点击出现" />
    <img id="img1" src="img/1.jpg" />
    </body>
    </html>

    /*阻止事件冒泡:
    * 事件冒泡发生在下面的函数,只需要
    * 1、添加事件对象参数e
    * 2、考虑到浏览器兼容问题 e||event
    * 3、设置事件对象的 e.cancelBubble=true;
    obtn.onclick=function(e)
    {
    var e=e||event;
    oimg.style.display="block";
    }
    */

    本人小白,博客作为在线笔记,若有错误,还望指出,转载链接截图等皆为学习,若有侵权,请告知,
  • 相关阅读:
    【面霸2】
    【面霸1】php知识点
    【技术宅11】php入门运算
    【技术宅10】顺序二分查找算法
    【技术宅9】遍历一个文件夹下的所有文件和子文件夹
    【技术宅7】一个或多个虚拟主机配置方法
    【技术宅6】把一个无限级分类循环成tree结构
    【技术宅5】抓去网页数据的3种方法
    【技术宅4】如何把M个苹果平均分给N个小朋友
    【技术宅3】截取文件和url扩展名的N种方法
  • 原文地址:https://www.cnblogs.com/xiaoxiaoyao/p/7723056.html
Copyright © 2011-2022 走看看