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

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

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

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

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

1.contextmenu事件是鼠標的右鍵點擊事件
2.要阻止瀏覽器的默認右鍵事件

代碼如下

// 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分別賦值為鼠標的位置;
?? ??? ?menu.style.left = evt.pageX+"px";
?? ??? ?menu.style.top = evt.pageY+"px";
?? ??? ?//如果鼠標右邊放不下菜單,就把left的值的改了
?? ??? ?if(evt.pageX+100>clientWidth+scrollLeft){//菜單應該在鼠標左邊;
?? ??? ??? ?var left1 = evt.pageX-100;
?? ??? ??? ?menu.style.left = left1+"px";
?? ??? ?}
?? ??? ?//如果鼠標下邊放不下菜單,就把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ù)自己的需要寫樣式
#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">//這個是最外層的盒子,加self修飾符可以不與其他事件沖突
?? ??? ?<input type="text" @contextmenu.prevent="rightShow">?? ?//這里的prevent修飾符可以直接阻止瀏覽器的默認行為
?? ??? ??? ?<ul id="menu" ref="msgRightMenu" v-show="isPersoncontextMenus">//isPersoncontextMenus別忘了在data里定義這個變量
?? ??? ??? ??? ?<li>魚香肉絲</li>
?? ??? ??? ??? ?<li>醋溜土豆絲</li>
?? ??? ??? ??? ?<li>麻辣小龍蝦</li>
?? ??? ??? ??? ?<li>回鍋肉</li>
?? ??? ??? ?</ul>
</div>

效果

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

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

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

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

    vuex 動態(tài)注冊方法 registerModule的實現(xiàn)

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

    Vue中跨域及打包部署到nginx跨域設置方法

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

    在vue項目中(本地)使用iconfont字體圖標的三種方式總結

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

    詳解vue高級特性

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

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

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

    Vue中map()的用法案例

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

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

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

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

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

    Vue3使用contenteditable打造定制化輸入

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

最新評論