四、DOM-事件高级

目录

事件高级

事件对象

获取事件对象

事件对象常用属性

事件流

事件冒泡

事件捕获

阻止事件流动

事件委托


事件高级

  1. 事件对象

    获取事件对象

    ​ 事件绑定的回调函数的第一个参数就是事件对象

    ​ 一般命名为event、ev、e

      元素.addEventListener('click',function(e) {})

    事件对象常用属性

    常用:pageX,pageY

  2. 事件流

    事件冒泡

    ​ 当一个元素的事件被触发时,同样的事件将会在该元素的所有祖先元素中依次被触发。这一过程被称为事件冒泡

    ​ 简单理解:当一个元素触发事件后,会依次向上调用所有父级元素的同名事件

    ​ 事件冒泡是默认存在的

    事件捕获

    ​ 从DOM的根元素开始去执行对应的事件(从外到里)

      DOM.addEventListener(事件类型,事件处理函数,是否使用捕获机制)

    阻止事件流动

    ​ 因为默认就有冒泡模式的存在,所以容易导致事件影响到父级元素

    ​ 若想把事件就限制在当前元素内,就需要阻止事件流动

    ​ 阻止事件流动需要拿到事件对象

    ​ 语法

      事件对象.stopPropagation()

    ​ 阻止默认行为,比如链接点击不跳转,表单域的不提交

    ​ 语法

      <a href="http://www.baidu.com">跳转到百度<a/>
      <script>
          let a = document.querySelect('a')
          a.addEventListener('click',function(event) {
              e.preventDefault()//阻止默认行为
          })
      <script/>

  3. 事件委托

    给父元素绑定事件,它的子元素也能绑定事件,利用了事件的冒泡

    真正触发事件的元素:事件对象.target

      <script>
          let ul = document.querySelector('ul')
          ul.addEventListener('click',function(event) {
              event.target.style.color = 'red'
          })
      <script/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值