原生Vue 实现右键菜单组件功能


Posted in Javascript onDecember 16, 2019

Vue 原生实现右键菜单组件, 零依赖

原生Vue 实现右键菜单组件功能 

快速安装

npm install vue-contextmenujs

使用

测试中使用的是 element-ui 图标

import Contextmenu from "vue-contextmenujs"
Vue.use(Contextmenu);
<template>
 <div id="app" style="width:100vw;height:100vh" @contextmenu.prevent="onContextmenu"></div>
</template>
<script>
export default {
 methods: {
  onContextmenu(event) {
   this.$contextmenu({
    items: [
     {
      label: "返回(B)",
      onClick: () => {
       this.message = "返回(B)";
       console.log("返回(B)");
      }
     },
     { label: "前进(F)", disabled: true },
     { label: "重新加载(R)", divided: true, icon: "el-icon-refresh" },
     { label: "另存为(A)..." },
     { label: "打印(P)...", icon: "el-icon-printer" },
     { label: "投射(C)...", divided: true },
     {
      label: "使用网页翻译(T)",
      divided: true,
      minWidth: 0,
      children: [{ label: "翻译成简体中文" }, { label: "翻译成繁体中文" }]
     },
     {
      label: "截取网页(R)",
      minWidth: 0,
      children: [
       {
        label: "截取可视化区域",
        onClick: () => {
         this.message = "截取可视化区域";
         console.log("截取可视化区域");
        }
       },
       { label: "截取全屏" }
      ]
     },
     { label: "查看网页源代码(V)", icon: "el-icon-view" },
     { label: "检查(N)" }
    ],
    event,
    customClass: "class-a",
    zIndex: 3,
    minWidth: 230
   });
   return false;
  }
 }
};
</script>

ps:下面看下vue点击菜单以外区域,隐藏菜单操作

data() {
   return {
    menuShow: false //v-show标识隐藏显示
   }
},

mounted (){
   let _this = this;
   document.addEventListener('click', function (e) {
// 下面这句代码是获取 点击的区域是否包含你的菜单,如果包含,说明点击的是菜单以外,不包含则为菜单以内
   let flag = e.target.contains(document.getElementsByClassName('menu-class')[0])
   console.log(flag)
   if(!flag) return
   _this.menuShow = false
   })
}

总结

以上所述是小编给大家介绍的原生Vue 实现右键菜单组件功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战二)
Aug 21 Javascript
jquery中append()与appendto()用法分析
Nov 14 Javascript
基于JS2Image实现圣诞树代码
Dec 24 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
Mar 08 Javascript
基于Layer+jQuery的自定义弹框
May 26 Javascript
jQuery实现弹幕效果
Feb 17 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
JavaScript数据结构之二叉树的计数算法示例
Apr 13 Javascript
让div运动起来 js实现缓动效果
Jul 06 Javascript
vue中组件通信详解(父子组件, 爷孙组件, 兄弟组件)
Jul 27 Javascript
vue实现同时设置多个倒计时
May 20 Vue.js
axios如何取消重复无用的请求详解
Dec 15 #Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
Dec 15 #Javascript
Angular6项目打包优化的实现方法
Dec 15 #Javascript
vue+elementUI组件table实现前端分页功能
Nov 15 #Javascript
Vue+ElementUI table实现表格分页
Dec 14 #Javascript
微信小程序跨页面传递data数据方法解析
Dec 13 #Javascript
微信小程序swiper使用网络图片不显示问题解决
Dec 13 #Javascript
You might like
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
一些常用的Javascript函数
2006/12/22 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
2016/03/16 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
AngularJS基础 ng-disabled 指令详解及简单示例
2016/08/01 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
JS跳转手机站url的若干注意事项
2017/10/18 Javascript
AngularJS表单验证功能
2017/10/19 Javascript
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
六个窍门助你提高Python运行效率
2015/06/09 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
Python如何实现文本转语音
2016/08/08 Python
python中urlparse模块介绍与使用示例
2017/11/19 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
django使用django-apscheduler 实现定时任务的例子
2019/07/20 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
Python爬取网页信息的示例
2020/09/24 Python
css3实现针线缝合效果(图解步骤)
2013/02/04 HTML / CSS
css3实现六边形边框的实例代码
2019/05/24 HTML / CSS
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
使用html2canvas.js实现页面截图并显示或上传的示例代码
2018/12/18 HTML / CSS
德国EGOIST网店:销售畅销的设计师品牌
2017/04/18 全球购物
应届生法律求职信
2013/10/22 职场文书
英文自荐信格式
2013/11/28 职场文书
《湘夫人》教学反思
2014/02/21 职场文书
财务主管岗位职责
2014/02/28 职场文书
幼儿教师演讲稿
2014/05/06 职场文书
保险公司演讲稿
2014/09/02 职场文书
人事局接收函
2015/01/30 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
欢送会主持词
2015/07/01 职场文书
七年级英语教学反思
2016/02/15 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
SpringCloud Function SpEL注入漏洞分析及环境搭建
2022/04/08 Java/Android