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插入DOM节点的方法
Jun 11 Javascript
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
jQuery Validate表单验证入门学习
Dec 18 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 Javascript
JS创建事件的三种方法(实例代码)
May 12 Javascript
微信小程序模板之分页滑动栏
Feb 10 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
Vue.js仿微信聊天窗口展示组件功能
Aug 11 Javascript
node.js遍历目录的方法示例
Aug 01 Javascript
详解React之key的使用和实践
Sep 29 Javascript
Angular.JS读取数据库数据调用完整实例
Jul 02 Javascript
Vue-CLI 项目在pycharm中配置方法
Aug 30 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
数据库的日期格式转换
2006/10/09 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
jQuery Deferred和Promise创建响应式应用程序详细介绍
2013/03/05 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
微信内置开发 iOS修改键盘换行为搜索的解决方案
2019/11/06 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
[00:47]TI7不朽珍藏III——沙王不朽展示
2017/07/15 DOTA
Python实现的一个找零钱的小程序代码分享
2014/08/25 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
解决tensorflow由于未初始化变量而导致的错误问题
2020/01/06 Python
详解python metaclass(元类)
2020/08/13 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
导游的职业规划书范文
2013/12/27 职场文书
狼和鹿教学反思
2014/02/05 职场文书
销售竞赛活动方案
2014/08/23 职场文书
2014年化妆品销售工作总结
2014/12/01 职场文书
小学生表扬稿范文
2015/05/05 职场文书
高中家长意见怎么写
2015/06/03 职场文书
加强党性修养心得体会
2016/01/21 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技