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

vue實現右鍵菜單欄

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

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

vue實現右鍵菜單欄和原生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樣式直供參考,根據自己的需要寫樣式
#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>

效果

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

相關文章

  • Vues中使用JavaScript實現路由跳轉的步驟詳解

    Vues中使用JavaScript實現路由跳轉的步驟詳解

    在Vue應用中,利用Vue?Router進行頁面間的導航是一個常見需求,本篇博客將通過示例代碼詳細介紹如何在Vue組件中使用JavaScript實現路由跳轉,需要的朋友可以參考下
    2024-05-05
  • Vue3.x使用mitt.js進行組件通信

    Vue3.x使用mitt.js進行組件通信

    Vue2.x 使用 EventBus 進行組件通信,而 Vue3.x 推薦使用 mitt.js。本文就介紹一下mitt.js的具體使用方法,感興趣的可以了解一下
    2021-06-06
  • Vue加載組件、動態(tài)加載組件的幾種方式

    Vue加載組件、動態(tài)加載組件的幾種方式

    組件是Vue.js最強大的功能之一。組件可以擴展HTML元素,封裝可重用的代碼。這篇文章通過實例代碼給大家介紹了Vue加載組件、動態(tài)加載組件的幾種方式,需要的朋友參考下吧
    2018-08-08
  • 解讀vue頁面監(jiān)聽store值改變問題

    解讀vue頁面監(jiān)聽store值改變問題

    這篇文章主要介紹了解讀vue頁面監(jiān)聽store值改變問題,具有很好的參考價值,希望對大家有所幫助。
    2022-10-10
  • Vue封裝一個Tabbar組件?帶組件路由跳轉方式

    Vue封裝一個Tabbar組件?帶組件路由跳轉方式

    這篇文章主要介紹了Vue封裝一個Tabbar組件?帶組件路由跳轉方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue全局數據管理示例詳解

    vue全局數據管理示例詳解

    這篇文章主要為大家介紹了vue全局數據管理示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • vue跨域處理方式(vue項目中baseUrl設置問題)

    vue跨域處理方式(vue項目中baseUrl設置問題)

    這篇文章主要介紹了vue跨域處理方式(vue項目中baseUrl設置問題),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • setup+ref+reactive實現vue3響應式功能

    setup+ref+reactive實現vue3響應式功能

    這篇文章介紹了通過setup+ref+reactive實現vue3響應式功能,文中通過示例代碼介紹的非常詳細。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-11-11
  • Vue修飾符的使用詳解

    Vue修飾符的使用詳解

    為了方便大家寫代碼,Vue給大家提供了很多方便的修飾符,比如我們經常用到的取消冒泡,阻止默認事件等等,這篇文章將給大家分享Vue?中的常用的修飾符
    2022-10-10
  • 解決vue 子組件修改父組件傳來的props值報錯問題

    解決vue 子組件修改父組件傳來的props值報錯問題

    今天小編就為大家分享一篇解決vue 子組件修改父組件傳來的props值報錯問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論

大洼县| 涞水县| 农安县| 四子王旗| 乌拉特前旗| 福鼎市| 樟树市| 福清市| 永平县| 象山县| 新宾| 建宁县| 乌审旗| 历史| 榆林市| 蒲城县| 镇宁| 泗水县| 盐池县| 扶余县| 昌乐县| 田东县| 休宁县| 永昌县| 安岳县| 原平市| 青龙| 额济纳旗| 开阳县| 嵊泗县| 徐州市| 渝中区| 西丰县| 集安市| 贞丰县| 余江县| 故城县| 九龙坡区| 和林格尔县| 上杭县| 沾益县|