一 介绍
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>
三 运行结果
相关推荐
Twitter称,该框架致力于构建基于现有DOM模型的应用程序,并可以将功能映射到DOM节点,且支持DOM的事件传播机制。 无论应用程序是否使用模板或生成HTML,Flight都不依赖于任何Web渲染技术,并且不关心请求如何被...
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...
7、基于回调的事件传播 32 五、 Android数据存储 32 1、android的数据存储 32 2、如何在android中使用SQlite数据库? 33 2.1 使用SharedPreferences 33 2.2 练习使用SharedPreferences 33 3、要读写其他应用的...
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...
13.3.1 起泡和捕捉--浏览器的事件传播 13.3.2 事件处理函数的注册 13.3.3 把对象注册为事件处理程序 13.3.4 事件模块和事件类型 13.3.5 关于Event接口 13.3.5.1 Event接口的属性和方法 ...
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解析器...
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解析器...
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解析器...
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解析器...
将模型变化传播给DOM291 同步DOM和模型变化292 Scope$apply——打开AngularJS世界的钥匙293 深入$digest循环295 整合300 112性能优化——设置期望值、测量、调节、并重复301 113AngularJS应用的性能优化303 ...
本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...
本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计进度条、设计工具栏和菜单栏、设计面板、设计表格、设计表单、设计数据表、...