javascript - vue中 $event获取当前添加事件的元素,却得到子元素

查看:437
本文介绍了javascript - vue中 $event获取当前添加事件的元素,却得到子元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

如下,我需要获取添加了事件的那个dom节点,但是点击该元素后,却返回的是子元素节点,添加了 .stop 事件修饰符同样也是如此,这个是怎么回事呢?
源码:
html:

<div v-for="list in item.list" @touchstart.stop="touchEle($event,list)">
    <div>
        <i :class="[list.class,list.color]"></i><br />
        {{list.title}}
    </div>
</div>

js:

console.log(ev.target)

结果:
得到<i class="el-icon-setting brown"></i> 节点而非 div这个节点

解决方案

因为是这个事件从i节点冒泡上来的。

你可以加个判断来保证。

if (ev.target === ev.currentTarget) {
    //从绑定目标触发
}

这篇关于javascript - vue中 $event获取当前添加事件的元素,却得到子元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆