如何在canvas画布上自定义鼠标右键菜单内容?
2019-03-14 15:55
561 查看
用户大大提了一个需求,想要在画布上能够右键快捷点击使用某个功能,小菜鸟肯定要满足啊(委屈脸),然后靠着强大的各路神仙,写下了如下代码,终于实现了,为自己放个烟花~~~不喜勿喷哦~
1.自定义鼠标右键菜单html,默认不显示,display: none;
<style> .clickRightMenu{ width: 110px; background-color: #fff; font-size: 12px; position: absolute; text-align: left; padding: 2px 0; border:1px solid #ccc; display: none; z-index: 100; } .clickRightMenu li{ list-style: none; line-height: 20px; padding-left: 25px; } .clickRightMenu li:hover{ background-color: #dcdcdc; cursor: pointer; } </style> <ul class="clickRightMenu" id="clickRightMenu"> <li>保存</li> <li>取消</li> </ul> <canvas id="canvasId" width="400" height="400" style="border: 1px solid #ccc;"></canvas> <--可自定义为按钮增加点击事件函数-->
2.使用oncontextmenu 方法,识别鼠标右键点击,通过display来控制右键菜单的显隐
var clickRightHtml = document.getElementById("clickRightMenu"); var canvas = document.getElementById("canvasId"); clickRightHtml.style.display = "none";//每次右键都要把之前显示的菜单隐藏哦 canvas.oncontextmenu = function(event){ var event = event || window.event; clickRightHtml.style.display = "block"; clickRightHtml.style.left = event.clientX + "px"; clickRightHtml.style.top = event.clientY + "px"; return false;//屏蔽浏览器自带的右键菜单 };
相关文章推荐
- Win7如何自定义鼠标右键菜单 添加新建PowerPoint文档
- 如何在TabControl中响应右键鼠标(添加一个ContextMenu就可以了),如何让在tab标签处右键菜单和在内容处右键菜单显示不同的菜单?
- Win7如何自定义鼠标右键菜单 添加新建EXCEL文档
- Win7如何自定义鼠标右键菜单 添加新建文本文档
- Win7如何自定义鼠标右键菜单 添加新建WORD文档
- Win7如何自定义鼠标右键菜单 添加在此处打开CMD窗口
- Win7如何自定义鼠标右键菜单 添加用记事本打开
- Win7如何自定义鼠标右键菜单 添加新建EXCEL文档
- Win7如何自定义鼠标右键菜单 添加新建PowerPoint文档
- Win7如何自定义鼠标右键菜单 添加新建WORD文档
- Win7如何自定义鼠标右键菜单 添加新建文本文档
- Win7如何自定义鼠标右键菜单 添加用记事本打开
- Win7如何自定义鼠标右键菜单 添加在此处打开CMD窗口
- silverlight2自定义鼠标右键菜单,屏蔽原来右键菜单显示的内容,打造自己喜欢的菜单。
- 如何在Windows 7 64位系统下 添加UltraEdit到鼠标右键菜单( win7 64位 Ultraedit32 )
- JS自定义鼠标右键内容
- Flex屏蔽并自定义鼠标右键菜单(转载)
- Win7系统如何自定义“开始”菜单内容?DIY“开始”菜单图文教程
- 如何让natTable表格支持自定义多个右键菜单
- 如何在IE右键菜单中添加自定义项