vue怎么实现右键菜单栏(vue,开发技术)

时间:2024-04-29 08:21:53 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

vue实现右键菜单栏和原生js大同小异,都是需要明白两个点

1.contextmenu事件是鼠标的右键点击事件
2.要阻止浏览器的默认右键事件

代码如下

//methodsrightShow(){letmenu=this.$refs.msgRightMenuthis.isPersoncontextMenus=truevarevt=event||window.event;varclientWidth=document.documentElement.clientWidth||document.body.clientWidth;varscrollLeft=document.documentElement.scrollLeft||document.body.scrollLeft;varclientHeight=document.documentElement.clientHeight||document.body.clientHeight;varscrollTop=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){//菜单应该在鼠标左边;varleft1=evt.pageX-100;menu.style.left=left1+"px";}//如果鼠标下边放不下菜单,就把top的值的改了if(evt.pageY+100>clientHeight+scrollTop){vartop1=(evt.pageY-100);menu.style.top=top1+"px";}menu.style.display="block";},showNo(){letmenu=this.$refs.msgRightMenumenu.style.display="none";}
//css样式直供参考,根据自己的需要写样式#menu{list-style:none;margin:0px;padding:0px;position:absolute;display:none;width:100px;height:100px;background-color:gray;}#menuli{margin:0px;padding:0px;}
//html<div@click.self="showNo">//这个是最外层的盒子,加self修饰符可以不与其他事件冲突<inputtype="text"@contextmenu.prevent="rightShow">//这里的prevent修饰符可以直接阻止浏览器的默认行为<ulid="menu"ref="msgRightMenu"v-show="isPersoncontextMenus">//isPersoncontextMenus别忘了在data里定义这个变量<li>鱼香肉丝</li><li>醋溜土豆丝</li><li>麻辣小龙虾</li><li>回锅肉</li></ul></div>

效果

vue怎么实现右键菜单栏

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:vue怎么实现右键菜单栏的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Java分代垃圾回收策略原理详解下一篇:

8 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18