本文实例为大家分享了Vue原生方法自定义右键菜单的具体代码,供大家参考,具体内容如下 1.在需要添加右键的页面,绑定contextmenu事件(阻止浏览器默认事件,添加自定义事件)
本文实例为大家分享了Vue原生方法自定义右键菜单的具体代码,供大家参考,具体内容如下
1.在需要添加右键的页面,绑定contextmenu事件(阻止浏览器默认事件,添加自定义事件)
<div @contextmenu.prevent.native="openMenu($event)">
....
</div>
2.在页面编写右键菜单的内容
<ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
<li @click="test">添加节点</li>
<li @click="test">添加节点</li>
</ul>
3.在data()中定义需要的变量属性
data() {
return {
visible: false,
top: 0,
left: 0
}
}
4.创建监听事件,来触发关闭右键菜单的方法
watch: {
visible(value) {
if (value) {
document.body.addEventListener('click', this.closeMenu)
} else {
document.body.removeEventListener('click', this.closeMenu)
}
}
},
5.打开和关闭右键菜单的两个方法
//start
openMenu(e) {
var x = e.pageX;
var y = e.pageY;
this.top = y;
this.left = x;
this.visible = true;//在这里控制右键菜单的打开
},
//close
closeMenu() {
this.visible = false;
},
6.样式
.contextmenu {
margin: 0;
background: #fff;
z-index: 3000;
position: absolute;
list-style-type: none;
padding: 5px 0;
border-radius: 4px;
font-size: 12px;
font-weight: 400;
color: #333;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
}
.contextmenu li {
margin: 0;
padding: 7px 16px;
cursor: pointer;
}
.contextmenu li:hover {
background: #eee;
}
--结束END--
本文标题: vue原生方法自定义右键菜单
本文链接: https://www.lsjlt.com/news/145470.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-12
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
2023-05-20
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0