美文网首页
JS事件冒泡和时间捕获

JS事件冒泡和时间捕获

作者: 树袋熊熊 | 来源:发表于2016-09-26 00:32 被阅读0次

    最近一直在找工作,相信事件冒泡、事件捕获对于web前端来说,是个很重要的点,现在在学习过程中做个总结。

    什么是js事件冒泡?

    官方:事件开始时由具体的元素接收,然后逐级向上传播到较为不具体的节点。(IE5.5及更早版本会跳过<html>,从body直接跳到document),IE9、firefox、chrome等事件会一直冒泡到window对象

    自己的理解:当设定了多个div的嵌套时,即建立了父子关系,当父div与子div共同加入了onclick事件时,当触发子div的onclick事件后,子div进行相应的JS操作,但是父div的onclick事件同样会被触发,这就造成了事件的并发,导致页面混乱。

    怎样阻止事件冒泡:在w3c标准里调用event.stopPropagation()

                                        在IE下通过设置window.event.cancelBubble=true来实现。

    什么是事件捕获?

    官方:(事件捕获的思想)不太具体的节点应该更早接收到事件,而更具体的节点应该最后接收到事件。

    注意:IE的内核是没有捕获事件的过程。

    举例说明:

    <!DOCTYPE html>

    <html>

    <head>

    <title>event bubble</title>

    </head>

    <body>

    <div id='div'>click me</div>

    </body>

    </html>

    事件冒泡:div->body->html->document

    事件捕捉:document->html->body->div

    相关文章

      网友评论

          本文标题:JS事件冒泡和时间捕获

          本文链接:https://www.haomeiwen.com/subject/edoxyttx.html