简体   繁体   English

在 VueJS 中获取事件侦听器元素而不是子元素

[英]Get Event Listener Element Instead Of Child In VueJS

I'm trying to get the element to which I have attached an event listener in the following code.我正在尝试在以下代码中获取已附加事件侦听器的元素。

<div class="navigation-link" id="home" @click="click($event)">
  <button class="navigation-link-inner btn-large transparent z-depth-0">
    <i class="material-icons left">contact_mail</i>Home
  </button>
</div>
<div class="navigation-link" id="cms" @click="click($event)">
  <button class="navigation-link-inner btn-large transparent z-depth-0">
    <i class="material-icons left">contact_mail</i>CMS
  </button>
</div>
<div class="navigation-link" id="contact" @click="click($event)">
  <button class="navigation-link-inner btn-large transparent z-depth-0">
    <i class="material-icons left">contact_mail</i>Contact
  </button>
</div>



But when I click on the links, I am getting these elements depending on exact click location:但是当我点击链接时,我会根据确切的点击位置获取这些元素:

<i class="material-icons left">contact_mail</i>Home
<button class="navigation-link-inner btn-large transparent z-depth-0">
  <i class="material-icons left">contact_mail</i>Home
</button>
<div class="navigation-link" id="home">
  <button class="navigation-link-inner btn-large transparent z-depth-0">
    <i class="material-icons left">contact_mail</i>Home
  </button>
</div>



I only want to get this element我只想得到这个元素

<div class="navigation-link" id="home">
  <button class="navigation-link-inner btn-large transparent z-depth-0">
    <i class="material-icons left">contact_mail</i>Home
  </button>
</div>

ie the parent element that to which I have attached event listener.即我附加了事件侦听器的父元素。 How can I get this?我怎样才能得到这个? Is there a short way to do this by attaching only one one event listener to parent and not on every link?是否有一种简单的方法可以通过仅将一个事件侦听器附加到父级而不是每个链接来做到这一点?

In order to reference the element that the listener is attached to, you should use evt.currentTarget instead of evt.target .为了引用侦听器附加到的元素,您应该使用evt.currentTarget而不是evt.target

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM