Vue事件獲取事件對象之event.currentTarget詳解
vue事件獲取事件對象event.currentTarget
在學(xué)習(xí)vue的時候,在進行tab欄切換的時候,突然發(fā)現(xiàn)不能像jquery一樣$(this)獲取事件,然后才發(fā)現(xiàn)在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開發(fā)時實現(xiàn)點擊選中獲取DOM效果使用:
JSON.parse(event.currentTarget.nextElementSibling.innerText);
但IE不兼容,改換為:
JSON.parse(event.srcElement.parentNode.lastChild.innerText);
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue3+ElementPlus使用lang="ts"報Unexpected?token錯誤的解決
最近開發(fā)中遇到了些問題,跟大家分享下,這篇文章主要給大家介紹了關(guān)于vue3+ElementPlus使用lang="ts"報Unexpected?token錯誤的解決辦法,需要的朋友可以參考下2023-01-01vue中如何給el-table-column添加指定列的點擊事件
elementui中提供了點擊行處理事件,下面這篇文章主要給大家介紹了關(guān)于vue中如何給el-table-column添加指定列的點擊事件,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-11-11vue實現(xiàn)動態(tài)給id賦值,點擊事件獲取當(dāng)前點擊的元素的id操作
這篇文章主要介紹了vue實現(xiàn)動態(tài)給id賦值,點擊事件獲取當(dāng)前點擊的元素的id操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11利用Vue3+Element?Plus封裝公共表格組件(帶源碼)
最近公司項目中頻繁會使用到table表格,而且前端技術(shù)這一塊也用到了vue3來開發(fā),所以基于element plus table做了一個二次封裝的組件,這篇文章主要給大家介紹了關(guān)于利用Vue3+Element?Plus封裝公共表格組件的相關(guān)資料,需要的朋友可以參考下2023-11-11vue中使用iview自定義驗證關(guān)鍵詞輸入框問題及解決方法
這篇文章主要介紹了vue中使用iview自定義驗證關(guān)鍵詞輸入框問題及解決方法,本文通過實例結(jié)合代碼的形式給大家介紹解決方法,需要的朋友可以參考下2018-03-03