Vue事件获取事件对象之event.currentTarget详解
更新时间:2024年03月24日 08:42:16 作者:姜泥断了姒
这篇文章主要介绍了Vue事件获取事件对象之event.currentTarget,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
vue事件获取事件对象event.currentTarget
在学习vue的时候,在进行tab栏切换的时候,突然发现不能像jquery一样$(this)获取事件,然后才发现在vue里面获取事件对象可以用event.currentTarget来获取
获取事件对象
- js的事件可以直接用this获取事件对象,
- jQuery可以使用$(this)来获取事件对象。
- vue借助事件的 event 对象 currentTarget 获取事件对象
event.currentTarget
- HTML
<ul> <li v-for="(item,item2) in catitmlst" v-bind:index="item2" v-on:click="eventObj"> <span id="eventobj">事件对象</span> </li> </ul>
- JS
//获取事件对象 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);
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
基于vue+elementPlus的动态导航标签栏tabs具体过程
这篇文章主要给大家介绍了关于基于vue+elementPlus的动态导航标签栏tabs的相关资料,本文主要详述了在系统上添加导航标签栏功能时,首次尝试的过程,并且希望能为同行提供一个小demo,需要的朋友可以参考下2024-10-10Vue3+Vite如何解决“找不到模块“@/components/xxx.vue”或其相应的类型声明ts(2307)”
在Vue项目中使用Vite时,可能因版本差异而需修改tsconfig.app.json而非tsconfig.json以解决编译错误,本文分享个人解决经验,供参考2024-10-10
最新评论