javascript事件捕获机制【深入分析IE和DOM中的事件
本文实例分析了javascript事件捕获机制。分享给大家供大家参考,具体如下
1.什么是事件冒泡?
在排序算法中,我们学过冒泡排序法,所谓冒泡就是让底层的东西浮出水面,对于事件冒泡也同样是如此,
狼蚁网站SEO优化我们来看一个例子来说明什么是事件冒泡。
<div> <button>测试</button> </div> <script> $("div").bind("click",function(){alert("div")}); $("button").bind("click",function(){alert("button"}); </script>
当支持事件冒泡时,当我们点击"测试”按钮时,会执行的是alert("button"),固名思意
事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。
当div,button,html根元素都有事件时,事件执行的顺序为
button->div->html
2.什么是事件捕获?
我们再来看事件捕获,相对于事件捕获,处理时间的顺序与事件冒泡截然相反,同样
<div> <button>测试</button> </div> <script> $("div").bind("click",function(){alert("div")}); $("button").bind("click",function(){alert("button"}); </script>
执行这段代码,会alert("div"),会alert("button")。我们明确事件捕获的概念
事件从最不精确的对象(document 对象)开始触发,然后到最精确。
同样的如果button,div,html元素上都有绑定事件,那么事件的实行顺序为
html->div->button
3.各个版本的浏览器对事件的处理机制?
(1)在DOM中,即支持事件冒泡,也支持事件捕获,在W3C的标准中,认为任何事件都是从事件捕获出发,找到最终的结点,此后再进行冒泡,会到根结点。
DOM中支持事件绑定的函数为
addEventListener("事件名",函数,userCapture);
对于userCapture参数,默认为false,支持事件冒泡。
若在userCapture参数,为true时,支持事件捕获。
(2)对于很多浏览器,都支持addEventListener方法,IE不支持!
(3) IE中的事件处理机制,IE中只支持事件冒泡,IE中有一个独有的事件绑定方法
attachEvent方法,此方法有两个参数
attachEvent("事件名","函数名")
4.如何阻止事件的传播?
无论是事件冒泡还是事件捕获都是可以阻止的。
(1)在W3C中阻止事件的传播方法为sPropagation(),在IE中,通过设置
cancelBubble=true;
(2) 如何阻止事件的默认行为?在W3C标准中,使用preventDefault方法,在IE中通过设置
window.event.returnValue = false;
PS:关于javascript常用事件及相关说明还可参考本站在线工具
javascript事件与功能说明大全
更多关于JavaScript相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指