javascript事件冒泡简单示例


Posted in Javascript onJune 20, 2016

本文实例讲述了javascript事件冒泡的定义与用法。分享给大家供大家参考,具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh" xml:lang="zh">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta name="developer" content="Realazy" />
  <title>Bubble in JavaScript DOM</title>
  <style type="text/css" media="screen">
   div * {
    display: block;
    margin: 4px;
    padding: 4px;
    border: 1px solid white;
   }
   textarea {
    width: 20em;
    height: 2em;
   }
  </style>
  <script type="text/javascript">
   //<![CDATA[
   function init(){
    var log = document.getElementsByTagName('textarea')[0];
    var all = document.getElementsByTagName('div')[0].getElementsByTagName('*');
    for (var i = 0, n = all.length; i < n; ++i) {
     all[i].onmouseover = function(e){
      this.style.border = '1px solid red';
      log.value = '鼠标现在进入的是: ' + this.nodeName;
     };
     all[i].onmouseout = function(e){
      this.style.border = '1px solid white';
     };
    }
    var all2 = document.getElementsByTagName('div')[1].getElementsByTagName('*');
    for (var i = 0, n = all2.length; i < n; ++i) {
     all2[i].onmouseover = function(e){
      this.style.border = '1px solid red';
      if (e) //停止事件冒泡
       e.stopPropagation();
      else 
       window.event.cancelBubble = true;
      log.value = '鼠标现在进入的是: ' + this.nodeName;
     };
     all2[i].onmouseout = function(e){
      this.style.border = '1px solid white';
     };
    }
   }
   window.onload = init;
   //]]>
  </script>
 </head>
 <body>
  <h1>Bubble in JavaScript DOM</h1>
  <p>
   DOM树的结构是:
  </p>
  <pre><code>
UL
 - LI
  - A
 - SPAN
</code></pre>
  <div>
   <ul>
    <li>
     <a href="https://3water.com/#"><span>Bubbllllllllllllllle</span></a>
    </li>
    <li>
     <a href="https://3water.com/#"><span>Bubbllllllllllllllle</span></a>
    </li>
   </ul>
  </div>
  <textarea>
  </textarea>
  <p>
   鼠标进入UL的任何一个子元素,如果不停止冒泡,我们从UL到SPAN都定义了鼠标悬停(
   <code>
    mouseover
   </code>)事件,这个事件会上升了UL,从而从鼠标所进入的元素到UL元素都会有红色的边。
  </p>
  <div>
   <ul>
    <li>
     <a href="https://3water.com/#"><span>Bubbllllllllllllllle</span></a>
    </li>
    <li>
     <a href="https://3water.com/#"><span>Bubbllllllllllllllle</span></a>
    </li>
   </ul>
  </div>
  <p>
   如果停止冒泡,事件不会上升,我们就可以获取精确的鼠标进入元素。
  </p>
 </body>
</html>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
网页里控制图片大小的相关代码
Jun 13 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
[原创]推荐10款最热门jQuery UI框架
Aug 19 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
一波JavaScript日期判断脚本分享
Mar 06 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
javascript中Number的方法小结
Nov 21 Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 Javascript
node.js连接mysql与基本用法示例
Jan 05 Javascript
使用express获取微信小程序二维码小记
May 21 Javascript
一文快速详解前端框架 Vue 最强大的功能
May 21 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
Oct 31 Javascript
JS实现的打字机效果完整实例
Jun 20 #Javascript
jQuery实现的网格线绘制方法
Jun 20 #Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 #Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
Jun 20 #Javascript
Javascript中的arguments对象
Jun 20 #Javascript
JavaScript中获取HTML元素值的三种方法
Jun 20 #Javascript
BootStrap selectpicker
Jun 20 #Javascript
You might like
PHP中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
php5.3 注意事项说明
2013/07/01 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
yii2 resetful 授权验证详解
2017/05/18 PHP
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
js实现跨域的方法实例详解
2015/06/24 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
2018/08/08 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
js实现无缝轮播图
2020/03/09 Javascript
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python 绘图和可视化详细介绍
2017/02/11 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
2017/11/29 Python
matplotlib在python上绘制3D散点图实例详解
2017/12/09 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python搜索算法原理及实例讲解
2020/11/18 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
js实现弹框效果
2021/03/24 Javascript
中医药大学市场营销专业自荐信
2013/09/29 职场文书
日语翻译个人求职的自我评价
2013/10/14 职场文书
博士生求职信
2014/07/06 职场文书
房地产端午节活动方案
2014/08/24 职场文书
房产证明范本
2015/06/19 职场文书
小学班主任工作经验交流材料
2015/11/02 职场文书
用python自动生成日历
2021/04/24 Python