欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue實現(xiàn)鼠標(biāo)懸浮隱藏與顯示圖片效果@mouseenter和@mouseleave事件詳解

 更新時間:2022年11月22日 14:25:16   作者:呂氏春秋i  
在所做的Vue項目中,有時候需要在鼠標(biāo)移動文字框的時候顯示一些詳細(xì)信息,下面這篇文章主要給大家介紹了關(guān)于Vue實現(xiàn)鼠標(biāo)懸浮隱藏與顯示圖片效果@mouseenter和@mouseleave事件的相關(guān)資料,需要的朋友可以參考下

前言

前端vue 有個功能是鼠標(biāo)移動到指定item上顯示出來一個編輯和刪除的圖標(biāo)

鼠標(biāo)懸停在列表那么需要有懸浮顯示的列表編輯和刪除icon

文字不好描述,因為是web端錄屏也比較麻煩 這里用截圖說明

圖片說明

1

功能實現(xiàn)

之前沒做過這種效果,問了一下我的組長-豪哥

他告訴我很簡單,利用vue的@mouseenter 和 @mouseleave事件就可以完美解決

本著這個思路,我去尋求答案,找了很多有關(guān)知識,自己也慢慢摸索 完成了該效果

下面說下實現(xiàn) 附代碼

因為是在列表中完成的某個item的圖標(biāo)隱藏與顯示

這個時候我們需要合index綁定 并且和改條目的id綁定(用來互斥)

這里需要注意一點

@mouseenter@mouseleave 方法必須放到父類的div中 才能起效果

我們需要

在js中把id綁定 把index設(shè)置值,默認(rèn)為false 既不顯示

下面js代碼中做了id綁定和給數(shù)組的標(biāo)記賦值的關(guān)系

/**
 *左邊圖表控制隱藏與顯示
 */
const leftIcon = reactive({
    inputAry: [] as boolean[]
})
const leftIconId = ref()

const mouseenter = (index: number, item: SymptomList) => {
    leftIcon.inputAry[index] = true
    leftIconId.value = item.id
    console.log('mouseenter')
}

const mouseleave = (index: number, item: SymptomList) => {
    leftIcon.inputAry[index] = false
    leftIconId.value = item.id;
    console.log('mouseleave')
}

我們在html中把@mouseenter 和 @mouseleave事件添加
然后再指定的div標(biāo)簽內(nèi) 做隱藏與顯示的判斷 還是根據(jù)id和當(dāng)前點擊的標(biāo)記位

<div v-for="(item, index) in symptomList" class="item">
            <div class="left">
            	 <!--  @mouseenter="mouseenter(index,item)" 
            	 在這里綁定index和item數(shù)據(jù)類(這里有我們要的數(shù)據(jù)id)-->
                <div class="left-div" @mouseenter="mouseenter(index,item)"
                 @mouseleave="mouseleave(index,item)">
                    <div v-if="editShow.inputAry[index] == true && item.id == diseaseId ">
                        <a-input class="input" v-model:value="inputContent" 
                        autofocus="autofocus" :max-length="10"
                            @change="changeInput()" />
                        <a-button class="commit" @click="handleInputCommit(item,index)">
                            <template #icon>
                                <check-outlined style="color: #ffffff" />
                            </template>
                        </a-button>
                        <a-button class="cancel" @click="handleInputCancel(index)">
                            <template #icon>
                                <close-outlined />
                            </template>
                        </a-button>
                    </div>
                    <div v-else style="display: flex;">
                        <div>{{ item.name }}</div>
                        <div class="right-icon" 
                          <!-- 這里是item尾部的2個圖標(biāo) 編輯和刪除圖標(biāo) 我們做了2個判斷 
                          第一是==true時,我們才把圖標(biāo)顯示出來
                          第二:將當(dāng)前點擊的id記錄 -->
                        v-if="leftIcon.inputAry[index] == true && item.id == leftIconId">
                            <a-button style="color:#676E7C; width: 13.7px ; height: 13.7px;"
                                @click="handleClickEdit(item,index)" type="link">
                                <template #icon>
                                    <edit-outlined />
                                </template>
                            </a-button>

                            <a-button style="margin-left: 5px; 
                            color:#676E7C; width: 13.7px ; height:13.7px;"
                                @click="handleClickDel(item,index)" type="link">
                                <template #icon>
                                    <delete-outlined />
                                </template>
                            </a-button>
                        </div>
                    </div>
                </div>
            </div>

mouseover 和 mouseenter 的區(qū)別

mouseover:當(dāng)鼠標(biāo)移入元素或其子元素都會觸發(fā)事件,有一個重復(fù)觸發(fā),事件疊加過程。對應(yīng)的移除事件是 mouseout

mouseenter:當(dāng)鼠標(biāo)移入元素本身(不包含元素的子元素)會觸發(fā)事件,事件不會疊加。對應(yīng)的移除事件是 mouseleave

hover 事件調(diào)用順序:

mouseover -> mouseenter -> mousemove(hover進(jìn)去之后移動會觸發(fā)) -> mouseout -> mouseleave

用div來演示所有事件方法

 <div
     <!-- 1、進(jìn)入元素 事件會疊加 -->
    @mouseover="mouseover"
     <!-- 2、進(jìn)入元素 事件不疊加 -->
    @mouseenter="mouseenter"
     <!-- 3、移動 -->
    @mousemove="mousemove"
     <!-- 4、離開元素 事件會疊加-->
    @mouseout="mouseout"
     <!-- 5、離開元素 事件不疊加 -->
    @mouseleave="mouseleave"
     <!-- 6、鼠標(biāo)在元素上 按下 -->
    @mousedown="mousedown"
    <!-- 7、鼠標(biāo)在元素上 抬起 -->
    @mouseup="mouseup"
  >
  </div>

總結(jié)

到此這篇關(guān)于Vue實現(xiàn)鼠標(biāo)懸浮隱藏與顯示圖片效果@mouseenter和@mouseleave事件的文章就介紹到這了,更多相關(guān)Vue鼠標(biāo)懸浮隱藏與顯示圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3+vite+ts使用monaco-editor編輯器的簡單步驟

    vue3+vite+ts使用monaco-editor編輯器的簡單步驟

    因為畢設(shè)需要用到代碼編輯器,根據(jù)調(diào)研,我選擇使用monaco-editor代碼編輯器,下面這篇文章主要給大家介紹了關(guān)于vue3+vite+ts使用monaco-editor編輯器的簡單步驟,需要的朋友可以參考下
    2023-01-01
  • Vue3屬性綁定方法解析

    Vue3屬性綁定方法解析

    這篇文章主要介紹了Vue3屬性綁定方法解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • Vue Router動態(tài)路由使用方法總結(jié)

    Vue Router動態(tài)路由使用方法總結(jié)

    這篇文章主要介紹了Vue Router動態(tài)路由使用方法總結(jié),需要的朋友可以參考下
    2023-10-10
  • Vue+Mockjs模擬curd接口請求的示例詳解

    Vue+Mockjs模擬curd接口請求的示例詳解

    這篇文章主要介紹了Vue+Mockjs模擬curd接口請求的示例詳解,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 如何使用vuex實現(xiàn)兄弟組件通信

    如何使用vuex實現(xiàn)兄弟組件通信

    這篇文章主要給大家介紹了關(guān)于如何使用vuex實現(xiàn)兄弟組件通信的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • element編輯表單el-radio回顯之后無法選擇的問題解決

    element編輯表單el-radio回顯之后無法選擇的問題解決

    今天主要來談一下element-ui編輯表單中的el-radio回顯之后無法選擇的問題,主要涉及到vue的雙向綁定,以及element-ui編輯表單中的el-radio的默認(rèn)類型,感興趣的可以了解一下
    2021-08-08
  • Vue3使用ref解決GetElementById為空的問題

    Vue3使用ref解決GetElementById為空的問題

    今天遇到一個問題,就是在Vue3組件中需要獲取template中的元素節(jié)點,使用GetElementById返回的卻是null,網(wǎng)上查找了好些資料,才發(fā)需要使用ref,所以本文給大家介紹了Vue3組件中如何使用ref解決GetElementById為空的問題,需要的朋友可以參考下
    2023-12-12
  • vue配置接口域名方法總結(jié)

    vue配置接口域名方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于vue配置接口域名方法和相關(guān)知識點總結(jié),需要的朋友們跟著操作下。
    2019-05-05
  • vue watch深度監(jiān)聽對象實現(xiàn)數(shù)據(jù)聯(lián)動效果

    vue watch深度監(jiān)聽對象實現(xiàn)數(shù)據(jù)聯(lián)動效果

    這篇文章主要介紹了vue watch深度監(jiān)聽對象實現(xiàn)數(shù)據(jù)聯(lián)動的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-08-08
  • 6種Vue中常用數(shù)據(jù)加密方式的使用詳解

    6種Vue中常用數(shù)據(jù)加密方式的使用詳解

    在Vue.js項目中,你可能需要執(zhí)行數(shù)據(jù)加密以確保敏感信息的安全,這篇文章為大家整理了Vue中常用的6種數(shù)據(jù)加密方式的使用,需要的小伙伴可以參考下
    2024-03-03

最新評論