`
huanyq2008
  • 浏览: 166509 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JavaScript 的事件冒泡 demo

阅读更多

转载:

如果你还不理解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="#"><span>Bubbllllllllllllllle</span></a></li>
  <li><a href="#"><span>Bubbllllllllllllllle</span></a></li>
 </ul>
</div>
<textarea></textarea>
<p>鼠标进入UL的任何一个子元素,如果不停止冒泡,我们从UL到SPAN都定义了鼠标悬停(<code>mouseover</code>)事件,这个事件会上升了UL,从而从鼠标所进入的元素到UL元素都会有红色的边。</p>
<div>
 <ul>
  <li><a href="#"><span>Bubbllllllllllllllle</span></a></li>
  <li><a href="#"><span>Bubbllllllllllllllle</span></a></li>
 </ul>
</div>
<p>如果停止冒泡,事件不会上升,我们就可以获取精确的鼠标进入元素。</p>
</body>
</html>

 原文地址:http://www.blueidea.com/tech/web/2007/4628.asp

分享到:
评论

相关推荐

    【JavaScript源代码】javascript事件冒泡,事件捕获和事件委托详解.docx

    javascript事件冒泡,事件捕获和事件委托详解  1、事件冒泡:在javascript事件传播过程中,当事件在一个元素上出发之后,事件会逐级传播给先辈元素,直到document为止,有的浏览器可能到window为止。并不是所有的...

    JavaScript事件冒泡与取消事件冒泡代码演示

    为了取消div元素的单击事件冒泡,代码中使用了even.cancelBubble = true;语句。本段代码适合HTML初学者学习。关键词:事件冒泡、取消冒泡、单击事件。用途:学习如何使用JavaScript取消HTML事件的冒泡。

    JavaScript事件冒泡示例.html

    JavaScript事件冒泡示例,简单,明了,实用。

    javascript阻止事件冒泡的一种方法

    一种解决事件冒泡的方法,有较好的浏览器兼容性,具体思路参见文档: http://blog.csdn.net/ivyandrich/article/details/22041933

    JavaScript 事件冒泡应用实例分析

    然而,在今天一些大型的WEB交互项目中,比如大型的WebGame项目,JavaScript事件冒泡影响是值得重视的。本文通过一个简单的例子来讲解JavaScript事件冒泡及使用注意事项。 如果你对JavaScript事件冒泡还没有什么印象...

    javascript 中事件冒泡和事件捕获机制的详解

    javascript 中事件冒泡和事件捕获机制的详解 二者作用:描述事件触发时序问题 事件捕获:从document到触发事件的那个节点,即自上而下的去触发事件—由外到内 事件冒泡:自下而上的去触发事件—由内到外 绑定事件...

    【JavaScript源代码】JavaScript中事件冒泡机制示例详析.docx

    JavaScript中事件冒泡机制示例详析  DOM事件流(event flow )存在三个阶段:事件捕获阶段、 处于目标阶段、 事件冒泡阶段。 事件捕获(event capturing):通俗的理解就是,当鼠标点击或者触发dom事件时,...

    详解javascript事件冒泡

    主要向大家介绍了javascript事件冒泡,以及javascript阻止事件冒泡的实现代码,感兴趣的朋友可以参考一下

    【JavaScript源代码】基于事件冒泡、事件捕获和事件委托详解.docx

     事件冒泡、事件捕获和事件委托 在javascript里,事件委托是很重要的一个东西,事件委托依靠的就是事件冒泡和捕获的机制,我先来解释一下事件冒泡和事件捕获: 事件冒泡会从当前触发的事件目标一级一级往上传递,...

    JavaScript 事件冒泡简介及应用

    一、什么是事件冒泡 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个...

    JavaScript基础入门Demo

    7个简单的JavaScript基础入门Demo,直接双击网页文件可查看效果,编辑网页查看代码。

    Javascript 事件冒泡机制详细介绍

    主要介绍了Javascript 事件冒泡机制详细介绍的相关资料,需要的朋友可以参考下

    JavaScript事件冒泡与事件捕获实例分析

    本文实例讲述了JavaScript事件冒泡与事件捕获。分享给大家供大家参考,具体如下: 1、事件冒泡 在一个对象上触发某类事件,如onclick事件等,在其祖先节点上也会依次触发该事件。 &lt;body onclick=alert&#40;'body...

    Javascript 阻止javascript事件冒泡,获取控件ID值

    Javascript学习日记-阻止javascript事件冒泡,获取控件ID值

    鼠标键盘事件及事件冒泡.pptx

    JavaScript+jQuery 网页特效设计;鼠标事件;1、鼠标事件;1、鼠标事件(案例);2、键盘事件;2、键盘事件(案例);3、事件的冒泡与阻止;3、事件的冒泡与阻止;3、事件的冒泡与阻止;3、事件的冒泡与阻止;3、事件的冒泡与...

    javascript事件冒泡简单示例

    主要介绍了javascript事件冒泡原因、显示效果及阻止冒泡的方法,需要的朋友可以参考下

    JavaScript事件冒泡机制原理实例解析

    这篇文章主要介绍了JavaScript事件冒泡机制原理实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 DOM事件流(event flow )存在三个阶段:事件捕获阶段...

    html+css3+javascript 学习demo.zip

    html+css3+javascript 学习demohtml+css3+javascript 学习demo html+css3+javascript 学习demohtml+css3+javascript 学习demo html+css3+javascript 学习demohtml+css3+javascript 学习demo html+css3+javascript ...

Global site tag (gtag.js) - Google Analytics