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 相关文章推荐
jquery 插件 任意位置浮动固定层
Dec 25 Javascript
JavaScript 学习点滴记录
Apr 24 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
Jul 17 Javascript
js和as的稳定传值问题解决
Jul 14 Javascript
jquery easyui使用心得
Jul 07 Javascript
javascript中判断json的方法总结
Aug 27 Javascript
js模拟微博发布消息
Feb 23 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
Mar 31 Javascript
Vue.js对象转换实例
Jun 07 Javascript
在React项目中使用Eslint代码检查工具及常见问题
Oct 10 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
Jul 21 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
Content-type 的说明
2006/10/09 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
Jquery解析Json格式数据过程代码
2014/10/17 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
jQuery制作效果超棒的手风琴折叠菜单
2015/04/03 Javascript
Bootstrap轮播加上css3动画,炫酷到底!
2015/12/22 Javascript
总结JavaScript的正则与其他语言的不同之处
2016/08/25 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
使用vuex解决刷新页面state数据消失的问题记录
2019/05/08 Javascript
JS Generator 函数的含义与用法实例总结
2020/04/08 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
通过python扫描二维码/条形码并打印数据
2019/11/14 Python
Python实现手绘图效果实例分享
2020/07/22 Python
如何避免常见的6种HTML5错误用法
2017/11/06 HTML / CSS
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
天游软件面试
2013/11/23 面试题
一道写SQL的面试题和答案
2013/11/19 面试题
办公室文员工作自我评价
2013/12/01 职场文书
高中生的自我评价
2014/03/04 职场文书
摄影专业毕业生求职信
2014/03/13 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2014年小学图书室工作总结
2014/12/09 职场文书
骨干教师考核评语
2014/12/31 职场文书
青年志愿者活动感想
2015/08/07 职场文书
导游词之湖北武当山
2019/09/23 职场文书
python 进阶学习之python装饰器小结
2021/09/04 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技