Vue中常用的鼠標(biāo)移入移出事件詳解
Vue中常用的鼠標(biāo)移入移出事件
Vue中常用的鼠標(biāo)移入移出事件有兩種:@mouseenter
和@mouseleave
。
@mouseenter
事件會(huì)在鼠標(biāo)移入元素時(shí)觸發(fā),而@mouseleave
事件會(huì)在鼠標(biāo)移出元素時(shí)觸發(fā)。這兩個(gè)事件可以用于實(shí)現(xiàn)一些交互效果,例如鼠標(biāo)移入時(shí)顯示某些內(nèi)容,鼠標(biāo)移出時(shí)隱藏。
在Vue模板中,可以使用這兩個(gè)事件來(lái)綁定方法,例如:
<template> <div @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave">鼠標(biāo)移入移出</div> </template>
在Vue組件的methods
中定義對(duì)應(yīng)的方法:
export default { methods: { handleMouseEnter() { console.log('鼠標(biāo)移入'); }, handleMouseLeave() { console.log('鼠標(biāo)移出'); } } }
這樣當(dāng)鼠標(biāo)移入或移出該元素時(shí),對(duì)應(yīng)的方法就會(huì)被調(diào)用。
@mouseleave事件來(lái)代替mouseout事件
mouseout
是JavaScript原生的鼠標(biāo)移出事件,與Vue中的@mouseleave
事件類(lèi)似,但有一些細(xì)微的差別。
mouseout
事件會(huì)在鼠標(biāo)移出元素時(shí)觸發(fā),但如果鼠標(biāo)移入該元素的子元素,也會(huì)觸發(fā)一次mouseout
事件。這樣可能會(huì)導(dǎo)致一些意外的行為,例如當(dāng)鼠標(biāo)從元素上移入其子元素時(shí),可能會(huì)觸發(fā)元素的mouseout
事件,從而導(dǎo)致一些不必要的操作。
因此在Vue中,建議使用
@mouseleave
事件來(lái)代替mouseout
事件。
@mouseenter事件來(lái)代替mouseover事件
mouseover
是JavaScript原生的鼠標(biāo)移入事件,與Vue中的@mouseenter
事件類(lèi)似,但有一些細(xì)微的差別。
mouseover
事件會(huì)在鼠標(biāo)移入元素時(shí)觸發(fā),但如果鼠標(biāo)移入該元素的子元素,不會(huì)觸發(fā)一次mouseover
事件。這樣可以避免一些意外的行為,例如當(dāng)鼠標(biāo)從元素的子元素上移出時(shí),不會(huì)觸發(fā)元素的mouseover
事件,從而避免一些不必要的操作。
因此在Vue中,建議使用
@mouseenter
事件來(lái)代替mouseover
事件。
附:兩對(duì)鼠標(biāo)事件的區(qū)別
其中,mouseover觸發(fā)優(yōu)先級(jí)高于mouseenter,mouseout觸發(fā)優(yōu)先級(jí)高于mouseleave
1、mouseover 和 mouseout
不論鼠標(biāo)指針穿過(guò)被選元素或其子元素,都會(huì)觸發(fā) mouseover
不論鼠標(biāo)指針離開(kāi)被選元素還是任何子元素,都會(huì)觸發(fā) mouseout 事件。
是根據(jù)鼠標(biāo)事件的target進(jìn)行觸發(fā)的,是一種精確觸發(fā)。當(dāng)為某一組件(如div)設(shè)置這兩個(gè)事件時(shí),當(dāng)事件的target是該組件時(shí),就會(huì)觸發(fā)mouseover,但是當(dāng)鼠標(biāo)劃到該組件的子組件上時(shí),因?yàn)閠arget改變了,所以就觸發(fā)了 mouseout 事件,這往往就會(huì)造成頁(yè)面元素的閃爍,反復(fù)觸發(fā)移入移出事件。
2、mouseenter 和 mouseleave
只有在鼠標(biāo)指針從元素外穿入被選元素(到元素內(nèi))時(shí),才會(huì)觸發(fā) mouseenter 事件。
只有在鼠標(biāo)指針從元素內(nèi)穿出被選元素(到元素外)時(shí),才會(huì)觸發(fā) mouseleave 事件。
mouseenter 和 mouseleave是根據(jù)組件在頁(yè)面的范圍(坐標(biāo))進(jìn)行觸發(fā)的。不管組件中是否有子組件,只要鼠標(biāo)進(jìn)入到組件的范圍內(nèi),就可以觸發(fā)mouseenter事件,離開(kāi)范圍,則觸發(fā)mouseleave事件。
總結(jié)
到此這篇關(guān)于Vue中常用的鼠標(biāo)移入移出事件的文章就介紹到這了,更多相關(guān)Vue鼠標(biāo)移入移出事件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Vue3中實(shí)現(xiàn)四種全局狀態(tài)數(shù)據(jù)的統(tǒng)一管理的方法
在開(kāi)發(fā)中,通常遇到四種全局狀態(tài)數(shù)據(jù):異步數(shù)據(jù)、同步數(shù)據(jù),傳統(tǒng)的Vue3使用不同機(jī)制處理這些數(shù)據(jù),而Zova框架通過(guò)Model機(jī)制來(lái)統(tǒng)一管理,簡(jiǎn)化了數(shù)據(jù)處理流程,提高了代碼的可維護(hù)性,本文介紹在Vue3中實(shí)現(xiàn)四種全局狀態(tài)數(shù)據(jù)的統(tǒng)一管理的方法,感興趣的朋友一起看看吧2024-10-10uniapp微信小程序webview和h5數(shù)據(jù)通信代碼示例
這篇文章主要介紹了uniapp微信小程序webview和h5數(shù)據(jù)通信的相關(guān)資料,文章還列出了項(xiàng)目的結(jié)構(gòu),包括微信小程序和h5端的主要文件和組件,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01element中Select選擇器實(shí)現(xiàn)自定義顯示內(nèi)容
在我們很多前端業(yè)務(wù)開(kāi)發(fā)中,往往為了方便,都需要自定義一些用戶組件,本文主要介紹了element中Select選擇器實(shí)現(xiàn)自定義顯示內(nèi)容,感興趣的可以了解一下2023-12-12詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問(wèn)題解決方案
這篇文章主要介紹了詳解vue-cil和webpack中本地靜態(tài)圖片的路徑問(wèn)題解決方案,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-09-09Vue實(shí)現(xiàn)簡(jiǎn)易購(gòu)物車(chē)案例
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡(jiǎn)易購(gòu)物車(chē)案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06解析vue?3.0?使用axios庫(kù)發(fā)起?post?get?的配置過(guò)程
get post 請(qǐng)求開(kāi)發(fā)中最普通最常見(jiàn)的請(qǐng)求方式但是在vue中如何實(shí)現(xiàn)呢 這里記錄一下配置過(guò)程,對(duì)vue?使用axios發(fā)起?post?get配置過(guò)程感興趣的朋友一起看看吧2022-05-05Vue.js開(kāi)發(fā)環(huán)境快速搭建教程
這篇文章主要為大家詳細(xì)介紹了Vue.js開(kāi)發(fā)環(huán)境快速搭建教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03vue項(xiàng)目實(shí)現(xiàn)左滑刪除功能(完整代碼)
最近在開(kāi)發(fā)移動(dòng)端項(xiàng)目,通過(guò)向左滑動(dòng)出現(xiàn)刪除按鈕,點(diǎn)擊即可刪除,怎么實(shí)現(xiàn)這個(gè)功能呢,接下來(lái)小編給大家?guī)?lái)實(shí)例代碼幫助大家學(xué)習(xí)vue項(xiàng)目實(shí)現(xiàn)左滑刪除功能,感興趣的朋友跟隨小編一起看看吧2021-05-05Vue中的函數(shù)同步執(zhí)行導(dǎo)致的數(shù)據(jù)獲取失敗問(wèn)題處理辦法
Vue中的mount中有兩個(gè)函數(shù),第一個(gè)函數(shù)執(zhí)行完后給data中的userInfo賦值,但是第二個(gè)函數(shù)獲取userInfo時(shí)是空值,這種情況可能是因?yàn)榈诙€(gè)函數(shù)在獲取 userInfo 時(shí)發(fā)生在第一個(gè)函數(shù)執(zhí)行完之前,所以本文給大家介紹了Vue中的函數(shù)同步執(zhí)行導(dǎo)致的數(shù)據(jù)獲取失敗問(wèn)題處理辦法2024-08-08vue實(shí)現(xiàn)錄音并轉(zhuǎn)文字功能包括PC端web手機(jī)端web(實(shí)現(xiàn)過(guò)程)
vue實(shí)現(xiàn)錄音并轉(zhuǎn)文字功能,包括PC端,手機(jī)端和企業(yè)微信自建應(yīng)用端,本文通過(guò)實(shí)例代碼介紹vue實(shí)現(xiàn)錄音并轉(zhuǎn)文字功能包括PC端web手機(jī)端web,感興趣的朋友跟隨小編一起看看吧2024-08-08