本文实例分析了javascript事件捕获机制。分享给大家供大家参考,具体如下:
1.什么是事件冒泡?
在排序算法中,我们学过冒泡排序法,所谓冒泡就是让底层的东西浮出水面,对于事件冒泡也同样是如此,
下面我们来看一个例子来说明什么是事件冒泡。
<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中阻止事件的传播方法为:stopPropagation(),在IE中,通过设置
cancelBubble=true;
(2) 如何阻止事件的默认行为?在W3C标准中,使用preventDefault方法,在IE中通过设置
window.event.returnValue = false;
PS:关于javascript常用事件及相关说明还可参考本站在线工具:
javascript事件与功能说明大全:
http://tools.jb51.net/table/javascript_event
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript事件相关操作与技巧大全》、《JavaScript时间与日期操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。