原生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 DOM 学习第三章 内容表格
Feb 19 Javascript
JavaScript isPrototypeOf和hasOwnProperty使用区别
Mar 04 Javascript
javascript全局变量封装模块实现代码
Nov 28 Javascript
jquery实现点击TreeView文本父节点展开/折叠子节点
Jan 10 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
Aug 14 Javascript
ExtJS实现文件下载的方法实例
Nov 09 Javascript
JavaScript通过select动态更换图片的方法
Mar 23 Javascript
javascript解决小数的加减乘除精度丢失的方案
May 31 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
May 13 jQuery
Mac系统下Webstorm快捷键整理大全
May 28 Javascript
深入理解Vuex 模块化(module)
Sep 26 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
Apr 28 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
wordpress之js库集合研究介绍
2007/08/17 Javascript
jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
2012/05/24 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
JS实现不规则TAB选项卡效果代码
2015/09/16 Javascript
基于JavaScript将表单序列化类型的数据转化成对象的处理(允许对象中包含对象)
2015/12/28 Javascript
Web前端新人笔记之jquery入门心得(新手必看)
2016/05/17 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
ReactNative之键盘Keyboard的弹出与消失示例
2017/07/11 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
Vue异步加载about组件
2017/10/31 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
uniapp开发小程序实现滑动页面控制元素的显示和隐藏效果
2020/12/10 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
Python编程实现蚁群算法详解
2017/11/13 Python
vscode 远程调试python的方法
2017/12/01 Python
python机器学习之神经网络实现
2018/10/13 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
Pyqt清空某一个QTreeewidgetItem下的所有分支方法
2019/06/17 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
python exit出错原因整理
2020/08/31 Python
DJI大疆无人机官方商城:全球领先的无人飞行器研发和生产商
2016/12/21 全球购物
材料加工硕士生求职信
2013/10/10 职场文书
大学学习生活感言
2014/01/18 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
超市客服工作职责
2014/06/11 职场文书
校园活动策划方案
2014/06/13 职场文书
学习党章的体会
2014/11/07 职场文书
MySQL分区表管理命令汇总
2022/03/21 MySQL
Python turtle编写简单的球类小游戏
2022/03/31 Python