前段面试(Dom)

述DOM事件捕获/冒泡的具体流程

  • 捕获 — window --> document --> html --> body --> … --> 目标元素
  • 冒泡 —目标元素 … --> body --> html --> document --> window
  • 补充扩展:
  • 扩展一个可能会遇到的小问题:就是如何获取html标签
  • 通过document.documentElement来获取

Event对象的常见应用

  • event.preventDefault() — 阻止默认行为
  • event.stopPropagation() — 阻止冒泡
  • event.stopImmediatePropagation() — 阻止事件冒泡并且阻止相同事件的其他侦听器被调用(–MDN)
  • event.currentTarget — 当前所绑定的事件
  • event.target — 当前被点击的元素,常常会考事件委托
    Q:有一个列表里有10个li元素,现要给10个li都添加点击事件,如何添加?
    A:给他们的父元素去加一个点击事件,通过event.target 属性来知道点击的哪一个li元素
    自定义事件
var eve = new Event('custome') // 注册事件
dom.addEventListener('custome', function() {
  // 绑定事件名称
  console.log('我是自定义事件')
})
dom.dispatchEvent(eve) // 通过dispatchEvent 来触发事件

DOM数

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值