javascript - Vue.js 事件目标为空?

标签 javascript vue.js vue-component

我有一个组件有两个样式按钮和一个相同的事件 “鼠标输入”。

<template>
  <div>
      <a 
          class="button red" 
          href="/about" 
          @mouseover="mouseEnter">  
          <svg viewBox="0 0 180 60">
              <path d="..."/>
          </svg>
          <span class="buttonSpan">About</span> 
      </a>
      <a 
          class="button green" 
          href="/contact" 
          @mouseover="mouseEnter">  
          <svg viewBox="0 0 180 60">
              <path d="..."/>
          </svg>
          <span class="buttonSpan">Contact</span>   
      </a>
  </div
</template>

当事件触发时,我想对鼠标悬停的按钮的路径span 执行一些操作。

我试图用 event.target 引用它们,但对于跨度,我得到的是空值,对于路径,一切正常。

methods: {
  buttonEnter(event) {
    const buttonPath = event.target.querySelector('path')
    const buttonSpan = event.target.querySelector('span')
    
    ...
}

我应该如何引用跨度?我还有其他办法吗?

最佳答案

事件目标将从您将监听器附加到的节点的子节点开始冒泡。使用 event.currentTarget

关于javascript - Vue.js 事件目标为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50049201/

相关文章:

css - 通过添加父类,作用域 CSS 和 "scope"之间的区别

javascript - 路由内容未在 Vue-router 和 Laravel 中显示

vue.js - 如何避免 props 和 data 中的数据重复?

javascript - 将数据从父级传递给子级时,它会传递,但 View 不会更新

javascript - 使用 vuejs 2 加载外部 html

javascript - 如何获取文本区域的值?

javascript - Redux:本地状态 id 和/或 api uuid

javascript - 如何使 VSCode 在导入中解析 "@"

vue.js - 我有一个 Electron 项目,我想与它一起使用vueJS

javascript - AngularJS 设置清除输入字段时遇到问题