账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    请问DOM事件流中,为什么事件的目标在捕获阶段不会接受到事件
    • 2017-10-01 00:00
    • 11
    27
    0

    一 , dom事件流不是先由事件捕获,然后再到当前事件,然后再事件冒泡吗。为什么事件的目标在捕获阶段不会接受到事件?

    还有,再js高程这本书中,这两句话看不太懂

    在DOM事件流中,实际目标div在捕获阶段不会收到事件  (div就是dom事件流中事件捕获和事件冒泡的临界哪个元素)

    二 ,还有一句看不懂

    多数浏览器都实现了一种特定行为,明确规范捕获阶段不会涉及事件目标。
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 情绪低落 普通会员 1楼

      在DOM事件流中,event.target是触发事件的元素,它在捕获阶段不会被任何事件处理程序处理。

      原因有以下几点:

      1. 事件处理程序是一个异步的函数,它不会立即获取到event.target的值。通常,我们会先创建一个事件处理程序,然后在event.target被触发时,事件处理程序才会被调用。

      2. event.target可能在事件处理程序运行过程中被销毁或隐藏。当事件处理程序执行完毕后,event.target可能已经不存在了。

      3. event.target可能与事件的触发元素不是同源的。如果event.target与事件的触发元素不是同源的,那么在event.target被触发时,浏览器可能会拒绝处理事件。

      为了避免这些问题,我们可以使用event.targetcurrentTarget属性,它表示事件在DOM树中的当前元素。currentTarget属性在事件处理程序运行过程中不会被销毁或隐藏。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部