js调出上下文菜单的实例


Posted in Javascript onDecember 17, 2015

本文实例讲述了js调出上下文菜单的实例代码,分享给大家供大家参考,具体如下:

原理

当用户点击右键时会触发一个contextmenu事件,默认会触发浏览器的默认的上下文菜单,通过手动阻止这个默认行为,然后再显示自定义的上下文菜单,当用户单击时隐藏这个菜单即可。
代码
1、html

<div id="box" style="color:red;width: 100%;height:1000px;" >
 <div id="left" style="float:left;width:500px;margin-left: 50px;height:500px;background: #cdeddf;">
  
 </div> 
 <div id="right" style="float:right;width:600px;margin-right: 50px;height:500px;background: #cdeaae;">
 </div>
 <ul id="menu" style="position: absolute;visibility: hidden;list-style: none;">
  <li>按钮1</li>
  <li>按钮2</li>
  <li>按钮3</li>
 </ul>
</div>

2、js

// 添加contextmenu事件
 var right = document.getElementById("right");
 EventUtil.addEventListener(right, "contextmenu", function(event) {
 event = EventUtil.getEvent(event);
 EventUtil.preventDefault(event);
 var menu = document.getElementById("menu");
 
 // 获取鼠标右击时的坐标,并设置上下文菜单出现位置
 page = EventUtil.getPagePosition(event); 
 menu.style.left = page.pageX + "px";
 menu.style.top = page.pageY + "px";
 menu.style.visibility = "visible";
 });
 
 // 添加隐藏上下文菜单事件
 EventUtil.addEventListener(document, "click", function(event) {
 var menu = document.getElementById("menu");
 menu.style.visibility = "hidden";
 });

代码出现的EventUtil在这篇文章有介绍: 《js跨浏览器的事件侦听器和事件对象的使用方法》

以上就是本文的全部内容,教大家js调出上下文菜单的方法,希望对大家的学习有所帮助。

Javascript 相关文章推荐
不用写JS也能使用EXTJS视频演示
Dec 29 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
Nov 12 Javascript
关于document.cookie的使用javascript
Oct 29 Javascript
页面加载完毕后滚动条自动滚动一定位置
Feb 20 Javascript
Javascript定义类(class)的三种方法详解
Mar 13 Javascript
用JavaScript显示浏览器客户端信息的超相近教程
Jun 18 Javascript
JS实现带关闭功能的阿里妈妈网站顶部滑出banner工具条代码
Sep 17 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
Dec 10 Javascript
jQuery基于BootStrap样式实现无限极地区联动
Aug 26 Javascript
小试SVG之新手小白入门教程
Jan 08 Javascript
VSCode搭建React Native环境
May 07 Javascript
antd design table更改某行数据的样式操作
Oct 31 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
Dec 17 #Javascript
JSONObject使用方法详解
Dec 17 #Javascript
JS实现alert中显示换行的方法
Dec 17 #Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 #Javascript
jQuery实现进度条效果代码
Dec 17 #Javascript
JavaScript创建对象的方式小结(4种方式)
Dec 17 #Javascript
javascript日期格式化方法小结
Dec 17 #Javascript
You might like
CakePHP去除默认显示的标题及图标的方法
2008/10/22 PHP
php数字转汉字代码(算法)
2011/10/08 PHP
php中邮箱地址正则表达式实现与详解
2012/04/24 PHP
php实现给图片加灰色半透明效果的方法
2014/10/20 PHP
PHP6新特性分析
2016/03/03 PHP
JS实现打开本地文件或文件夹
2021/03/09 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
JavaScript 继承机制的实现(待续)
2010/05/18 Javascript
ExtJS判断IE浏览器类型的方法
2014/02/10 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
jquery根据属性和index来查找属性值并操作
2014/07/25 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
Vue-Router实现页面正在加载特效方法示例
2017/02/12 Javascript
AngularJs每天学习之总体介绍
2017/08/07 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
Python中利用sorted()函数排序的简单教程
2015/04/27 Python
Python OpenCV获取视频的方法
2018/02/28 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
Pycharm 解决自动格式化冲突的设置操作
2021/01/15 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
【HTML5】3D模型--百行代码实现旋转立体魔方实例
2016/12/16 HTML / CSS
比利时买床:Beter Bed
2017/12/06 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
Java servlet面试题
2012/03/04 面试题
教育科研先进个人材料
2014/01/26 职场文书
水电工岗位职责
2014/02/12 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
如何做好工作总结!
2019/04/10 职场文书
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL