vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue事件获取事件对象event.currentTarget

Vue事件获取事件对象之event.currentTarget详解

作者:姜泥断了姒

这篇文章主要介绍了Vue事件获取事件对象之event.currentTarget,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue事件获取事件对象event.currentTarget

在学习vue的时候,在进行tab栏切换的时候,突然发现不能像jquery一样$(this)获取事件,然后才发现在vue里面获取事件对象可以用event.currentTarget来获取

获取事件对象

event.currentTarget

 <ul>
     <li v-for="(item,item2) in catitmlst" v-bind:index="item2" v-on:click="eventObj">
         <span id="eventobj">事件对象</span>
     </li>
</ul>
//获取事件对象
    eventObject(event){
        let html = event.currentTarget
        console.log(html)
        //获得点击元素的前一个元素
        event.currentTarget.previousElementSibling.innerHTML
        //获得点击元素的第一个子元素
        event.currentTarget.firstElementChild
        //获得点击元素的下一个元素
        event.currentTarget.nextElementSibling
        //获得点击元素中id为eventobj的元素
        event.currentTarget.getElementById("eventobj")
        //获得点击元素的index(自定义的属性)
        event.currentTarget.getAttribute('index')
        //获得点击元素的父级元素
        event.currentTarget.parentElement
        //获得点击元素的前一个元素的第一个子元素的HTML值
        event.currentTarget.previousElementSibling.firstElementChild.innerHTML
    }

我目前还不是特别清楚,等我彻底搞明白了,我会在重新解释一下vue获取事件对象。

IE不兼容event.currentTarget

vue开发时实现点击选中获取DOM效果使用:

JSON.parse(event.currentTarget.nextElementSibling.innerText);

但IE不兼容,改换为:

JSON.parse(event.srcElement.parentNode.lastChild.innerText);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文