原生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 相关文章推荐
Sample script that deletes a SQL Server database
Jun 16 Javascript
JavaScript的递归之递归与循环示例介绍
Aug 05 Javascript
基于jquery异步传输json数据格式实例代码
Nov 23 Javascript
javascript时间函数大全
Jun 30 Javascript
21个JavaScript事件(Events)属性汇总
Dec 02 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
Javascript获取统一管理的提示语(message)
Feb 03 Javascript
angular.js之路由的选择方法
Sep 24 Javascript
原生JS实现图片网格式渐显、渐隐效果
Jun 05 Javascript
在Vue.js中使用Mixins的方法
Sep 12 Javascript
JS document文档的简单操作完整示例
Jan 13 Javascript
jquery实现简单自动轮播图效果
Jul 29 jQuery
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
深入PHP购物车模块功能分析(函数讲解,附源码)
2013/06/25 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
PHP生成随机密码方法汇总
2015/08/27 PHP
使用Composer安装Yii框架的方法
2016/03/15 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
JavaScript 32位整型无符号操作示例
2013/12/08 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
2016/09/08 Javascript
JavaScript中const、var和let区别浅析
2016/10/11 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
vue中使用腾讯云Im的示例
2020/10/23 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
2020/11/06 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Python GUI编程学习笔记之tkinter事件绑定操作详解
2020/03/30 Python
Python接口开发实现步骤详解
2020/04/26 Python
部署Django到阿里云服务器教程示例
2020/06/03 Python
Python将字典转换为XML的方法
2020/08/01 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
Python基于template实现字符串替换
2020/11/27 Python
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
THE OUTNET美国官网:国际设计师品牌折扣网站
2017/03/07 全球购物
SmartBuyGlasses荷兰:购买太阳镜和眼镜
2020/03/16 全球购物
小学三好学生事迹材料
2014/08/15 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
初婚初育证明范本
2015/06/18 职场文书
仓库管理制度范本
2015/08/04 职场文书
SQL 窗口函数实现高效分页查询的案例分析
2021/05/21 SQL Server
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android