JS简单实现自定义右键菜单实例
2017-05-31 09:28
846 查看
RT,一个简单的例子,仅仅讲述原理
复制代码 代码如下:
<div id="menu" style="width: 0;height: 0;background: cadetblue;position: absolute"></menu>
假设我要把上面这个div设置为右键菜单,先随意美化一下。
原理就是利用contextmenu事件,右键点击时,会触发这个事件时,该事件对象可以获得鼠标距离页面左上角的距离clientX和clientY,
我们可以利用这两个属性,来控制div的水平,垂直偏移量,并且返回false,取消事件的默认行为,来模拟浏览器的右键菜单。
document.oncontextmenu=function(e){ var x=e.clientX+'px'; var y=e.clientY+'px'; var node=document.querySelector('#menu'); node.style.left=x; node.style.top=y; node.style.width=100+'px'; node.style.height=100+'px'; return false; //很重要,不能让浏览器显示自己的右键菜单 }
现在是关闭部分,关闭右键菜单的方式,通常是在空白区域点击左键。
document.onclick=function(e){ if(e.target.id!='menu') { var node=document.querySelector('#menu'); node.style.width=0; node.style.height=0; } }
这仅仅是一个基本的思路的,核心就是contextmenu事件。你可以在此基础上使用CSS随意美化升级,加入类似于transition等属性,来实现动画效果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- JS实现的自定义右键菜单实例二则
- JS实现的自定义右键菜单实例二则
- JS简单实现自定义右键菜单
- js实现右键自定义菜单
- rcp(插件开发)CNF 自定义视图-右键菜单-的简单实现
- JS实现自定义右键菜单
- js实现完全自定义可带多级目录的网页鼠标右键菜单方法
- JS实现自定义右键菜单
- js屏蔽鼠标右键默认事件以实现自定义菜单
- JS实现自定义右键菜单
- js实现自定义右键菜单
- 简单源生JS实现自定义右键菜单效果
- js实现右键菜单的一个实例
- [置顶] echars-all.js 2.2.7组织结构图及自定义右键菜单的实现思路及源码
- JS实现自定义右键菜单
- js实现完全自定义可带多级目录的网页鼠标右键菜单方法
- js实现鼠标右键自定义菜单(弹出层),并与树形菜单(TreeView)、iframe合用(兼容IE、Firefox、Chrome)
- js实现自定义右键菜单--兼容IE、Firefox、Chrome
- 用Js简单实现省市区级联菜单
- 用Js简单实现省市区级联菜单