原生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 相关文章推荐
javascript add event remove event
Apr 07 Javascript
Fixie.js 自动填充内容的插件
Jun 28 Javascript
javascript:window.open弹出窗口的位置问题
Mar 18 Javascript
Jquery 实现图片轮换
Jan 28 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
vue中的非父子间的通讯问题简单的实例代码
Jul 19 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
详解关于Vuex的action传入多个参数的问题
Feb 22 Javascript
Vue中fragment.js使用方法小结
Feb 17 Javascript
Element Popover 弹出框的使用示例
Jul 26 Javascript
解决vue自定义指令导致的内存泄漏问题
Aug 04 Javascript
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
AM/FM收音机的安装与调试
2021/03/02 无线电
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
srcElement表格样式
2006/09/03 Javascript
JS模拟多线程
2007/02/07 Javascript
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
使用node+vue.js实现SPA应用
2016/01/28 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
jQuery 利用ztree实现树形表格的实例代码
2017/09/27 jQuery
js用类封装pop弹窗组件
2017/10/08 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
2018/05/16 jQuery
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
vue项目部署到nginx/tomcat服务器的实现
2019/08/26 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
webgl实现物体描边效果的方法介绍
2019/11/27 Javascript
[01:36]DOTA2完美大师赛趣味视频之与队友相处的十万个技巧
2017/11/19 DOTA
简单实现python收发邮件功能
2018/01/05 Python
python设定并获取socket超时时间的方法
2019/01/12 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
ansible-playbook实现自动部署KVM及安装python3的详细教程
2020/05/11 Python
涂鸦板简单实现 Html5编写属于自己的画画板
2016/07/05 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
决心书标准格式
2014/03/11 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
大学生见习总结报告
2015/06/24 职场文书
读《庄子》有感:美而不自知
2019/11/06 职场文书