iview通过Dropdown(下拉菜单)实现的右键菜单


Posted in Javascript onOctober 26, 2018

官方目前不提供右键菜单,这里借助Dropdown(下拉菜单)来实现,故为“官方“。

既然Dropdown有类似功能,如果将其文字隐藏,并且在合适时机弹出,便可实现,其自身就是iview中一个组件,不言而喻,功能强大、简洁。

源码之下,了无秘密,简单陈述下思路,在模板中正常使用Dropdown组件,属性、样式需要单独设置(style="display:none" trigger="click"),即默认不显示,click触发,右键按下时首先设置其可见,在更改reference对象引用即可。

模板如下

iview通过Dropdown(下拉菜单)实现的右键菜单

逻辑如下:

iview通过Dropdown(下拉菜单)实现的右键菜单

源码跟踪:

一。标签a不可见,原本以为只要改变left top,菜单会自动跟随,其位置是通过调用元素的getBoundingClientRect来获取,因标签不可见,拿到都是0,此路不通,pass;

二。也可以改变标签的z-index顺序,使其在目标节点之下,这里动态改变其引用节点来实现。

理论上任何组件都可实现右键菜单。

总结

以上所述是小编给大家介绍的iview通过Dropdown(下拉菜单)实现的右键菜单 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js 变量类型转换常用函数与代码[比较全]
Dec 01 Javascript
jquery div 居中技巧应用介绍
Nov 24 Javascript
jquery创建表格(自动增加表格)代码分享
Dec 25 Javascript
JavaScript设计模式之原型模式(Object.create与prototype)介绍
Dec 28 Javascript
jQuery插件实现适用于移动端的地址选择器
Feb 18 Javascript
关于vue.extend和vue.component的区别浅析
Aug 16 Javascript
详解如何使用webpack打包JS
Jun 21 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
Jun 26 Javascript
webpack手动配置React开发环境的步骤
Jul 02 Javascript
vue项目打包部署_nginx代理访问方法详解
Sep 20 Javascript
JS开发 富文本编辑器TinyMCE详解
Jul 19 Javascript
Vue组件通信$attrs、$listeners实现原理解析
Sep 03 Javascript
Javascript中弹窗confirm与prompt的区别
Oct 26 #Javascript
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 #Javascript
如何用Node写页面爬虫的工具集
Oct 26 #Javascript
Javascript中绑定click事件的四种方式介绍
Oct 26 #Javascript
使用webpack打包后的vue项目如何正确运行(express)
Oct 26 #Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 #jQuery
详解ES6 系列之异步处理实战
Oct 26 #Javascript
You might like
PHP中的日期及时间
2006/11/23 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
Codeigniter(CI)框架分页函数及相关知识
2014/11/03 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
popdiv
2006/07/14 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
javascript 常用功能总结
2012/03/18 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
BootStrap的table表头固定tbody滚动的实例代码
2016/08/24 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
jQuery扇形定时器插件pietimer使用方法详解
2017/07/18 jQuery
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[02:40]DOTA2超级联赛专访430 从小就爱玩对抗性游戏
2013/06/18 DOTA
利用Python中unittest实现简单的单元测试实例详解
2017/01/09 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
python flask实现分页效果
2017/06/27 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
python 通过麦克风录音 生成wav文件的方法
2019/01/09 Python
django-rest-swagger对API接口注释的方法
2019/08/29 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
大家都说好用的Python命令行库click的使用
2019/11/07 Python
Pytorch中index_select() 函数的实现理解
2019/11/19 Python
Python代码中如何读取键盘录入的值
2020/05/27 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
英语硕士生求职简历的自我评价
2013/10/15 职场文书
客服服务心得体会
2013/12/30 职场文书