原生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 相关文章推荐
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
jQuery UI Dialog控件中的表单无法正常提交的解决方法
Dec 19 Javascript
基于jquery的表头固定的若干方法
Jan 27 Javascript
jquery 实现input输入什么div图层显示什么
Jun 15 Javascript
nw.js实现类似微信的聊天软件
Mar 16 Javascript
Javascript调用函数方法的几种方式介绍
Mar 20 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
Nov 02 Javascript
用js读写cookie的简单方法(推荐)
Aug 08 Javascript
Bootstrap使用基础教程详解
Sep 05 Javascript
自动适应iframe右边的高度
Dec 22 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
vue-openlayers实现地图坐标弹框效果
Sep 24 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
PHP 正则表达式常用函数
2014/08/17 PHP
php中$_GET与$_POST过滤sql注入的方法
2014/11/03 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
Javascript字符串对象的常用方法简明版
2014/06/26 Javascript
js交换排序 冒泡排序算法(Javascript版)
2014/10/04 Javascript
JavaScript中字符串(string)转json的2种方法
2015/06/25 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
jQuery实现碰到边缘反弹的动画效果
2018/02/24 jQuery
Vue项目中如何引入icon图标
2018/03/28 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
简单了解Javscript中兄弟ifream的方法调用
2019/06/17 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
微信小程序scroll-view点击项自动居中效果的实现
2020/03/25 Javascript
JavaScript实现网页下拉菜单效果
2020/11/20 Javascript
[01:35]辉夜杯战队访谈宣传片—iG.V
2015/12/25 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
Python二分查找详解
2015/09/13 Python
python中map的基本用法示例
2018/09/10 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
2019/10/23 Python
浅析Python3 pip换源问题
2020/01/06 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
基于python和flask实现http接口过程解析
2020/06/15 Python
法国在线药房:1001Pharmacies
2021/03/07 全球购物
医学实习生自我鉴定
2013/12/12 职场文书
矫正人员思想汇报
2014/01/08 职场文书
股东协议书
2014/04/14 职场文书
重阳节活动总结
2014/08/27 职场文书
2015感人爱情寄语
2015/02/26 职场文书
2016年圣诞节寄语(一句话)
2015/12/07 职场文书