vue原生方法自定義右鍵菜單
更新時間:2022年04月10日 08:13:49 作者:weixin_51751522
這篇文章主要為大家詳細介紹了vue原生方法自定義右鍵菜單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了vue原生方法自定義右鍵菜單的具體代碼,供大家參考,具體內容如下
1.在需要添加右鍵的頁面,綁定contextmenu事件(阻止瀏覽器默認事件,添加自定義事件)
<div @contextmenu.prevent.native="openMenu($event)"> ? .... </div>
2.在頁面編寫右鍵菜單的內容
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu"> ? ? ? ? <li @click="test">添加節(jié)點</li> ? ? ? ? ?<li @click="test">添加節(jié)點</li> </ul>
3.在data()中定義需要的變量屬性
data() { ? ? return { ? ? ? visible: false, ? ? ? top: 0, ? ? ? left: 0 ? ? } ? }
4.創(chuàng)建監(jiān)聽事件,來觸發(fā)關閉右鍵菜單的方法
watch: { ? ? visible(value) { ? ? ? if (value) { ? ? ? ? document.body.addEventListener('click', this.closeMenu) ? ? ? } else { ? ? ? ? document.body.removeEventListener('click', this.closeMenu) ? ? ? } ? ? } ? },
5.打開和關閉右鍵菜單的兩個方法
//start openMenu(e) { ? var x = e.pageX; ? var y = e.pageY; ? this.top = y; ? this.left = x; ? this.visible = true;//在這里控制右鍵菜單的打開 }, //close closeMenu() { ? this.visible = false; },
6.樣式
.contextmenu { ? margin: 0; ? background: #fff; ? z-index: 3000; ? position: absolute; ? list-style-type: none; ? padding: 5px 0; ? border-radius: 4px; ? font-size: 12px; ? font-weight: 400; ? color: #333; ? box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3); } .contextmenu li { ? margin: 0; ? padding: 7px 16px; ? cursor: pointer; } .contextmenu li:hover { ? background: #eee; }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue2實現(xiàn)directive自定義指令的封裝與全局注冊流程
自定義指令是對普通DOM元素進行的底層操作,它是一種有效的的補充和擴展,不僅可以用于定義任何的dom操作,并且是可以復用的,下面這篇文章主要給大家介紹了關于vue2實現(xiàn)directive自定義指令的封裝與全局注冊流程的相關資料,需要的朋友可以參考下2023-02-02Vue實現(xiàn)實時更新sessionStorage數(shù)據(jù)的示例代碼
這篇文章主要為大家詳細介紹了Vue如何實現(xiàn)實時更新sessionStorage數(shù)據(jù),文中的示例代碼講解詳細,具有一定的參考價值,需要的可以參考一下2023-06-06