最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

前言

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

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

文字不好描述,因?yàn)槭莣eb端錄屏也比較麻煩 這里用截圖說明

圖片說明

1

功能實(shí)現(xiàn)

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

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

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

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

因?yàn)槭窃诹斜碇型瓿傻哪硞€(gè)item的圖標(biāo)隱藏與顯示

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

這里需要注意一點(diǎn)

@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)前點(diǎn)擊的標(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個(gè)圖標(biāo) 編輯和刪除圖標(biāo) 我們做了2個(gè)判斷 
                          第一是==true時(shí),我們才把圖標(biāo)顯示出來
                          第二:將當(dāng)前點(diǎn)擊的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)移入元素或其子元素都會(huì)觸發(fā)事件,有一個(gè)重復(fù)觸發(fā),事件疊加過程。對應(yīng)的移除事件是 mouseout

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

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

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

用div來演示所有事件方法

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

總結(jié)

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

相關(guān)文章

  • 前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄

    前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄

    這篇文章主要介紹了前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下
    2019-06-06
  • Vue項(xiàng)目配置在局域網(wǎng)下訪問方式

    Vue項(xiàng)目配置在局域網(wǎng)下訪問方式

    這篇文章主要介紹了Vue項(xiàng)目配置在局域網(wǎng)下訪問方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Vuex進(jìn)行Echarts數(shù)據(jù)頁面初始化后如何更新dom

    Vuex進(jìn)行Echarts數(shù)據(jù)頁面初始化后如何更新dom

    這篇文章主要為大家詳細(xì)介紹了使用Vuex做Echarts數(shù)據(jù)時(shí),當(dāng)頁面初始化后如何更新dom,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • vue 單頁應(yīng)用和多頁應(yīng)用的優(yōu)劣

    vue 單頁應(yīng)用和多頁應(yīng)用的優(yōu)劣

    這篇文章主要介紹了vue 單頁應(yīng)用和多頁應(yīng)用的優(yōu)劣,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-10-10
  • Vue3學(xué)習(xí)之語法糖、箭頭函數(shù)、函數(shù)聲明詳解

    Vue3學(xué)習(xí)之語法糖、箭頭函數(shù)、函數(shù)聲明詳解

    在Vue3中箭頭函數(shù)被廣泛支持,尤其是在組合式API的上下文中,這篇文章主要給大家介紹了關(guān)于Vue3學(xué)習(xí)之語法糖、箭頭函數(shù)、函數(shù)聲明的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-08-08
  • 淺析vue中的組件傳值

    淺析vue中的組件傳值

    這篇文章主要介紹了淺析vue中的組件傳值,文章基于vue的相關(guān)資料展開對主題的詳細(xì)介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-04-04
  • Vue函數(shù)式組件專篇深入分析

    Vue函數(shù)式組件專篇深入分析

    Vue提供了一種稱為函數(shù)式組件的組件類型,用來定義那些沒有響應(yīng)數(shù)據(jù),也不需要有任何生命周期的場景,它只接受一些props來顯示組件,下面這篇文章主要給大家介紹了關(guān)于Vue高級(jí)組件之函數(shù)式組件的使用場景與源碼分析的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 解決vue3項(xiàng)目打包后部署后某些靜態(tài)資源圖片不加載問題

    解決vue3項(xiàng)目打包后部署后某些靜態(tài)資源圖片不加載問題

    這篇文章主要給大家介紹了如何解決vue3項(xiàng)目打包后部署后某些靜態(tài)資源圖片不加載問題,文中通過圖文結(jié)合的方式講解的非常詳細(xì),有需要的朋友可以參考下
    2024-05-05
  • 詳解基于Vue的支持?jǐn)?shù)據(jù)雙向綁定的select組件

    詳解基于Vue的支持?jǐn)?shù)據(jù)雙向綁定的select組件

    這篇文章主要介紹了詳解基于Vue的支持?jǐn)?shù)據(jù)雙向綁定的select組件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • 詳解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on

    詳解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on

    Vue.js的指令是以v-開頭的,它們作用于HTML元素,指令提供了一些特殊的特性。這篇文章主要介紹了Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on 的相關(guān)知識(shí),需要的朋友可以參考下
    2018-10-10

最新評(píng)論

富锦市| 黔西| 富顺县| 德州市| 道真| 高台县| 平度市| 渭源县| 偏关县| 许昌市| 巫溪县| 琼中| 武山县| 清水河县| 东宁县| 黔东| 郧西县| 化德县| 榕江县| 临潭县| 广水市| 武城县| 航空| 枝江市| 临城县| 蒲江县| 海伦市| 台江县| 襄城县| 武功县| 广安市| 屏山县| 门源| 湟源县| 奉化市| 康平县| 沙坪坝区| 安岳县| 吴忠市| 三河市| 呼图壁县|