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

vue實(shí)現(xiàn)右鍵菜單欄

 更新時(shí)間:2022年04月10日 07:50:04   作者:-=|=-  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)右鍵菜單欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)右鍵菜單欄的具體代碼,供大家參考,具體內(nèi)容如下

vue實(shí)現(xiàn)右鍵菜單欄和原生js大同小異,都是需要明白兩個(gè)點(diǎn)

1.contextmenu事件是鼠標(biāo)的右鍵點(diǎn)擊事件
2.要阻止瀏覽器的默認(rèn)右鍵事件

代碼如下

// methods
rightShow() {
?? ?let menu = this.$refs.msgRightMenu
?? ?this.isPersoncontextMenus = true
?? ?var evt = event || window.event;
?? ??? ?var clientWidth = document.documentElement.clientWidth || document.body.clientWidth ;
?? ??? ?var scrollLeft = document.documentElement.scrollLeft || document.body.scrollLeft;
?? ?
?? ??? ?var clientHeight = document.documentElement.clientHeight || document.body.clientHeight ;
?? ??? ?var scrollTop = document.documentElement.scrollTop || document.body.scrollTop ;
?? ?
?? ??? ?//給left和top分別賦值為鼠標(biāo)的位置;
?? ??? ?menu.style.left = evt.pageX+"px";
?? ??? ?menu.style.top = evt.pageY+"px";
?? ??? ?//如果鼠標(biāo)右邊放不下菜單,就把left的值的改了
?? ??? ?if(evt.pageX+100>clientWidth+scrollLeft){//菜單應(yīng)該在鼠標(biāo)左邊;
?? ??? ??? ?var left1 = evt.pageX-100;
?? ??? ??? ?menu.style.left = left1+"px";
?? ??? ?}
?? ??? ?//如果鼠標(biāo)下邊放不下菜單,就把top的值的改了
?? ??? ?if(evt.pageY+100>clientHeight+scrollTop){
?? ??? ??? ?var top1 = (evt.pageY-100);
?? ??? ??? ?menu.style.top = top1+"px";
?? ??? ?}
?? ?
?? ??? ?menu.style.display = "block";
},
showNo(){
?? ?let menu = this.$refs.msgRightMenu
?? ?menu.style.display = "none";
}
//css樣式直供參考,根據(jù)自己的需要寫(xiě)樣式
#menu{
?? ?list-style: none;
?? ?margin: 0px;
?? ?padding: 0px;
?? ?position: absolute;
?? ?display: none;
?? ?width: 100px;
?? ?height: 100px;
?? ?background-color: gray;
}

#menu li{
?? ?margin: 0px;
?? ?padding: 0px;
}
//html
<div @click.self="showNo">//這個(gè)是最外層的盒子,加self修飾符可以不與其他事件沖突
?? ??? ?<input type="text" @contextmenu.prevent="rightShow">?? ?//這里的prevent修飾符可以直接阻止瀏覽器的默認(rèn)行為
?? ??? ??? ?<ul id="menu" ref="msgRightMenu" v-show="isPersoncontextMenus">//isPersoncontextMenus別忘了在data里定義這個(gè)變量
?? ??? ??? ??? ?<li>魚(yú)香肉絲</li>
?? ??? ??? ??? ?<li>醋溜土豆絲</li>
?? ??? ??? ??? ?<li>麻辣小龍蝦</li>
?? ??? ??? ??? ?<li>回鍋肉</li>
?? ??? ??? ?</ul>
</div>

效果

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3調(diào)度器scheduler功能和用法詳解

    vue3調(diào)度器scheduler功能和用法詳解

    調(diào)度器是vue3響應(yīng)式系統(tǒng)中一個(gè)非常重要的特性,可調(diào)度性指的是當(dāng)trigger 動(dòng)作觸發(fā)副作用函數(shù)重新執(zhí)行時(shí),有能力決定副作用函數(shù)執(zhí)行的時(shí)機(jī)、次數(shù)以及方式,本文通過(guò)代碼示例給大家介紹調(diào)度器是什么,有什么功能,怎么使用,感興趣的同學(xué)可以借鑒閱讀
    2023-06-06
  • vuex 動(dòng)態(tài)注冊(cè)方法 registerModule的實(shí)現(xiàn)

    vuex 動(dòng)態(tài)注冊(cè)方法 registerModule的實(shí)現(xiàn)

    這篇文章主要介紹了vuex 動(dòng)態(tài)注冊(cè)方法 registerModule的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Vue中跨域及打包部署到nginx跨域設(shè)置方法

    Vue中跨域及打包部署到nginx跨域設(shè)置方法

    這篇文章主要介紹了Vue中跨域以及打包部署到nginx跨域設(shè)置方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 在vue項(xiàng)目中(本地)使用iconfont字體圖標(biāo)的三種方式總結(jié)

    在vue項(xiàng)目中(本地)使用iconfont字體圖標(biāo)的三種方式總結(jié)

    這篇文章主要介紹了在vue項(xiàng)目中(本地)使用iconfont字體圖標(biāo)的三種方式總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • 詳解vue高級(jí)特性

    詳解vue高級(jí)特性

    這篇文章主要介紹了vue高級(jí)特性的相關(guān)知識(shí),文中介紹非常細(xì)致,幫助大家更好的參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • 一文詳解Vue.js與TypeScript的生命周期

    一文詳解Vue.js與TypeScript的生命周期

    Vue與TypeScript的結(jié)合使得開(kāi)發(fā)大型應(yīng)用變得更加容易和高效,本文將詳細(xì)探討Vue.js組件中TypeScript的應(yīng)用,特別是它的生命周期鉤子函數(shù),并通過(guò)豐富的示例,為你提供一個(gè)實(shí)戰(zhàn)指南,需要的朋友可以參考下
    2023-11-11
  • Vue中map()的用法案例

    Vue中map()的用法案例

    map()函數(shù)定義在JS的array中,它返回一個(gè)新的數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Vue中map()的用法案例,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • vue-quill-editor富文本編輯器上傳視頻功能詳解

    vue-quill-editor富文本編輯器上傳視頻功能詳解

    需求需要實(shí)現(xiàn)富文本的功能,同時(shí)富文本中還可以上傳視頻和圖片,選來(lái)選去最后決定了用這個(gè)富文本編輯器,下面這篇文章主要給大家介紹了關(guān)于vue-quill-editor富文本編輯器上傳視頻功能的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 詳解vue 在移動(dòng)端體驗(yàn)上的優(yōu)化解決方案

    詳解vue 在移動(dòng)端體驗(yàn)上的優(yōu)化解決方案

    這篇文章主要介紹了vue 在移動(dòng)端體驗(yàn)上的優(yōu)化解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Vue3使用contenteditable打造定制化輸入

    Vue3使用contenteditable打造定制化輸入

    contenteditable 屬性為網(wǎng)頁(yè)開(kāi)發(fā)者提供了一種靈活的方式來(lái)創(chuàng)建可編輯的內(nèi)容區(qū)域,使用戶可以直接在網(wǎng)頁(yè)上進(jìn)行內(nèi)容編輯,而無(wú)需依賴傳統(tǒng)的輸入框,本文將利用contenteditable打造定制化輸入,感興趣的可以了解下
    2023-12-12

最新評(píng)論