侧边栏壁纸
博主头像
前端学习

行动起来,活在当下

  • 累计撰写 307 篇文章
  • 累计创建 18 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

JS-监听鼠标事件时点击元素触发鼠标事件

Administrator
2022-09-07 / 0 评论 / 0 点赞 / 326 阅读 / 0 字

问题描述:
在页面挂载完成后对元素进行鼠标监听,在鼠标移入之后在元素中点击,发现触发了mouseleave事件,在查看事件对象后发现点击触发的mouseleave事件中的relatedTarget的值为null

const popDom = document.querySelector('#popDom')
popDom.addEventListener('mouseenter', () => {
  this.$emit('DetailCard', true)
  this.$store.commit('getPopShow', true)
})
popDom.addEventListener('mouseleave', (e) => {
  this.$emit('DetailCard', false)
  this.$store.commit('getPopShow', false)
})

解决问题:
根据上述可以用e.relatedTarget来判断是否是正常触发的mouseleave事件

popDom.addEventListener('mouseleave', (e) => {
  if (!e.relatedTarget) {
    return
  }
  this.$emit('DetailCard', false)
  this.$store.commit('getPopShow', false)
})
0

评论区