javascript 事件冒泡

2016-02-19 15:54 8 1 收藏

下面图老师小编跟大家分享javascript 事件冒泡,一起来学习下过程究竟如何进行吧!喜欢就赶紧收藏起来哦~

【 tulaoshi.com - Web开发 】

Html代码
!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" / 
titleBubble 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 
h1Bubble in JavaScript DOM/h1 
pDOM树的结构是:/p 
precode 
UL  
  - LI  
     - A  
   - SPAN  
/code/pre 
div 
 ul 
  lia href="#"spanBubbllllllllllllllle/span/a/li 
  lia href="#"spanBubbllllllllllllllle/span/a/li 
 /ul 
/div 
textarea/textarea 
p鼠标进入UL的任何一个子元素,如果不停止冒泡,我们从UL到SPAN都定义了鼠标悬停(codemouseover/code)事件,这个事件会上升了UL,从而从鼠标所进入的元素到UL元素都会有红色的边。/p 
div 
 ul 
  lia href="#"spanBubbllllllllllllllle/span/a/li 
  lia href="#"spanBubbllllllllllllllle/span/a/li 
 /ul 
/div 
p如果停止冒泡,事件不会上升,我们就可以获取精确的鼠标进入元素。/p 
/body 
/html

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1610679.html

延伸阅读
标签: Web开发
事件处理概述  事件处理是对象化编程的一个很重要的环节,没有了事件处理,程序就会变得很死,缺乏灵活性。事件处理的过程可以这样表示:发生事件 - 启动事件处理程序 - 事件处理程序作出反应。其中,要使事件处理程序能够启动,必须先告诉对象,如果发生了什么事情,要启动什么处理程序,否则这个流程就不能进行...
标签: Web开发
每个JavaScript框架都实现跨浏览器的事件处理,鼓励你摆脱旧式的内联附加事件而使用精简的线性方法。看看清单6的jQuery例子,使用hover事件高亮显示div元素。 清单6:使用jQuery附加hover事件 $('#the-box').hover(function() {    $(this).addClass('highlight'); }, function() {    $(this).removeClass('highli...
标签: Web开发
click() 对象.click() 使对象被点击。  closed 对象.closed 对象窗口是否已关闭true/false  clearTimeout(对象) 清除已设置的setTimeout对象  clearInterval(对象) 清除已设置的setInterval对象  confirm("提示信息") 弹出确认框,确定返回true取消返回false  cursor:样式 更改鼠标样式 hand crossh...
标签: Web开发
事件是可以被JavaScript侦测到的行为。 事件 JavaScript使我们有能力创建动态页面。事件是可以被JavaScript侦测到的行为。 网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。比方说,我们可以在用户点击某按钮时产生一个onClick事件来触发某个函数。事件在HTML页面中定义。 事件举例: 鼠标点击  页面或图像载入 ...
标签: Web开发
在很多语言的学习中,“事件”都是一个比较难理解,但是又是一个很重要的概念。javascript中的事件处理也是一样,正因为有了事件处理,才会出现Ajax拖动的效果。本文就讨论一下JavaScript中的事件处理,读过之后,您就会知道,很多Ajax框架实现拖动效果的原理了。 一、 IE Event对象 (一)IE Event对象的主要属性和方法 在IE中有一...

经验教程

842

收藏

46
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部