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

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

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

前言

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

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

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

圖片說明

1

功能實現(xiàn)

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

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

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

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

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

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

這里需要注意一點

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

我們需要

在js中把id綁定 把index設置值,默認為false 既不顯示

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

/**
 *左邊圖表控制隱藏與顯示
 */
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標簽內 做隱藏與顯示的判斷 還是根據(jù)id和當前點擊的標記位

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

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

hover 事件調用順序:

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

用div來演示所有事件方法

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

總結

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

相關文章

  • 前端Vue項目詳解--初始化及導航欄

    前端Vue項目詳解--初始化及導航欄

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

    Vue項目配置在局域網下訪問方式

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

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

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

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

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

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

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

    淺析vue中的組件傳值

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

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

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

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

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

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

    這篇文章主要介紹了詳解基于Vue的支持數(shù)據(jù)雙向綁定的select組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    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 的相關知識,需要的朋友可以參考下
    2018-10-10

最新評論

孟村| 建德市| 海宁市| 祁东县| 南和县| 乌兰浩特市| 思南县| 紫金县| 靖西县| 襄汾县| 西峡县| 原阳县| 额尔古纳市| 海安县| 东阿县| 旬邑县| 万宁市| 石门县| 肥西县| 娱乐| 普兰店市| 泸溪县| 中宁县| 西盟| 永福县| 台南市| 博客| 华容县| 通河县| 旺苍县| 永胜县| 霍山县| 潼南县| 孟津县| 交城县| 大安市| 南郑县| 休宁县| 南宫市| 那坡县| 黎平县|