`
cakin24
  • 浏览: 1328550 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

DOM模型事件传播机制应用

阅读更多
一 介绍
DOM模型事件传播先后沿着两个方向传播:在第一阶段,也就是事件捕获阶段,事件从最顶层的对象依次向下传播,因此先触发顶层对象的事件处理函数,然后依次向下,直到传播到事件所发生的最底层对象;接着进入第二阶段,也就是事件冒泡阶段,事件传播一直向上溯,直到最顶层对象。
DOM模型事件传播机制模型如下图


 
DOM为Event对象提供了stoppropagation()方法,该方法能阻止事件传播。
 
二 代码
 
<!DOCTYPE html>
<html>
<head>
<meta name="author" content="Yeeku.H.Lee(CrazyIt.org)"/>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>阻止事件传播</title>
</head>
<body>
友情链接:<br />
<!--目标超链接-->
<a id="mylink" href="http://www.crazyit.org">疯狂Java联盟</a>
<div id="show"></div>
<script type="text/javascript">
// 事件捕获阶段的处理函数
var killClick1 =function(event)
{
// 取消默认事件的默认行为
 event.preventDefault();
// 阻止事件传播
 event.stopPropagation();
 document.getElementById("show").innerHTML
+='事件捕获阶段'+ event.currentTarget +"<br />";
}
//事件冒泡阶段的处理函数
var killClick2 =function(event)
{
// 取消事件的默认行为
 event.preventDefault();
// 阻止事件传播
 event.stopPropagation();
 document.getElementById("show").innerHTML
+='事件冒泡阶段'+ event.currentTarget +"<br />";
}
// // 在事件捕获阶段,分别为超链接对象、document对象绑定事件处理函数。
 document.addEventListener("click", killClick1,true);
 document.getElementById("mylink").addEventListener(
"click", killClick1,true);
// 在事件冒泡阶段,分别为超链接对象、document对象绑定事件处理函数。
 document.addEventListener("click", killClick2,false);
 document.getElementById("mylink").addEventListener(
"click", killClick2,false);
</script>
</body>
</html>
 
三 运行结果

 
  • 大小: 122.4 KB
  • 大小: 1.7 KB
1
0
分享到:
评论

相关推荐

    基于组件的框架Flight.zip

    Twitter称,该框架致力于构建基于现有DOM模型的应用程序,并可以将功能映射到DOM节点,且支持DOM的事件传播机制。 无论应用程序是否使用模板或生成HTML,Flight都不依赖于任何Web渲染技术,并且不关心请求如何被...

    javascript完全学习手册2 源码

    10.4.2 IE的事件传播 10.5 常用事件 10.5.1 鼠标事件 10.5.2 键盘事件 10.5.3 表单事件 10.5.4 编辑事件 10.5.5 页面事件 第11章 使用Cookie和文件 11.1 Cookie 11.1.1 Cookie概述 11.1.2 Cookie...

    android学习文档

    7、基于回调的事件传播 32 五、 Android数据存储 32 1、android的数据存储 32 2、如何在android中使用SQlite数据库? 33 2.1 使用SharedPreferences 33 2.2 练习使用SharedPreferences 33 3、要读写其他应用的...

    javascript完全学习手册1 源码

    10.4.2 IE的事件传播 281 10.5 常用事件 282 10.5.1 鼠标事件 282 10.5.2 键盘事件 286 10.5.3 表单事件 291 10.5.4 编辑事件 295 10.5.5 页面事件 297 第11章 使用Cookie和文件 303 11.1 Cookie 303 11.1.1 Cookie...

    JavaScript王者归来part.1 总数2

     13.3.1 起泡和捕捉--浏览器的事件传播   13.3.2 事件处理函数的注册   13.3.3 把对象注册为事件处理程序   13.3.4 事件模块和事件类型   13.3.5 关于Event接口   13.3.5.1 Event接口的属性和方法   ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    3.2.1 dom结构模型 47 3.2.2 dom解析器工厂 50 3.2.3 jaxp的错误类和异常类 52 3.2.4 用dom解析xml文档实例 53 3.3 使用sax解析xml文档 65 3.3.1 sax的处理机制 66 3.3.2 配置sax解析器 69 3.3.3 sax解析器...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    3.2.1 dom结构模型 47 3.2.2 dom解析器工厂 50 3.2.3 jaxp的错误类和异常类 52 3.2.4 用dom解析xml文档实例 53 3.3 使用sax解析xml文档 65 3.3.1 sax的处理机制 66 3.3.2 配置sax解析器 69 3.3.3 sax解析器...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    3.2.1 dom结构模型 47 3.2.2 dom解析器工厂 50 3.2.3 jaxp的错误类和异常类 52 3.2.4 用dom解析xml文档实例 53 3.3 使用sax解析xml文档 65 3.3.1 sax的处理机制 66 3.3.2 配置sax解析器 69 3.3.3 sax解析器...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    3.2.1 dom结构模型 47 3.2.2 dom解析器工厂 50 3.2.3 jaxp的错误类和异常类 52 3.2.4 用dom解析xml文档实例 53 3.3 使用sax解析xml文档 65 3.3.1 sax的处理机制 66 3.3.2 配置sax解析器 69 3.3.3 sax解析器...

    精通AngularJS part1

    将模型变化传播给DOM291 同步DOM和模型变化292 Scope$apply——打开AngularJS世界的钥匙293 深入$digest循环295 整合300 112性能优化——设置期望值、测量、调节、并重复301 113AngularJS应用的性能优化303 ...

    精通JS脚本之ExtJS框架.part2.rar

    本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...

    精通JS脚本之ExtJS框架.part1.rar

    本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...

Global site tag (gtag.js) - Google Analytics