当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js 冒泡事件与事件监听使用分析

Javascript
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
(转载)JavaScript中匿名函数,函数直接量和闭包
简单的无缝滚动程序-仅几行代码
Javascript中的数学函数集合
javascript之大字符串的连接的StringBuffer 类
javascript之对系统的toFixed()方法的修正
用javascript实现自定义标签
js在客户端验证密码强度,兼容FireFox和IE
javascript背景颜色按时变换
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%
javascript语句中的CDATA标签的意义
用javascript实现分割提取页面所需内容
网上抓的一个特效
js之点击 超连接,提示一个层.点击空白.层消失
模拟用户操作Input元素,不会触发相应事件
弹出广告特效代码(一个IP只弹出一次)
(仅IE下有效)关于checkbox 三态
JavaScript Archive Network 集合
关于__defineGetter__ 和__defineSetter__的说明
textContent在Firefox下与innerText等效的属性

Javascript 中的 js 冒泡事件与事件监听使用分析


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-10   浏览: 502 ::
收藏到网摘: n/a

js 冒泡事件与事件监听 代码分析 冒泡事件
js中“冒泡事件(bubble)”并不是能实际使用的花哨技巧,它是一种对js事件执行顺序的机制,“冒泡算法”在编程里是一个经典问题,冒泡算法里面的“冒泡”应该说是交换更加准确;js里面的“冒泡事件”才是真正意义上的“冒泡”,它从DOM最低层逐层遍历树,然后附加相应事件。以下面代码为例:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

查看运行效果
事件监听
事件监听准确一点讲可以说是js引擎对用户鼠标、键盘、窗口事件等动作的监视进行的操作,也就是针对用户相应的操作进行附加事件,常用的类似 btnAdd.onclick="alert('51obj.cn')"就是一种简单的附加事件,只不过这种方法不支持附加多个事件以及删除事件。以下代 码将实现附加事件后删除事件(IE下):
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

查看运行结果
IE不能称为标准的DOM浏览器,即使是最新的IE8,相对于标准DOM如Firefox、Opera等,它是个“异类”;在Firefox中才真正有称为事件监听的函数addEventListener,如下例
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

查看运行效果
从上面两个例子看出attachEvent在Firefox中并不支持,IE也不支持addEventListener.因此需要使用兼容性的方法。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]