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 相关文章推荐
从jQuery.camelCase()学习string.replace() 函数学习
Sep 13 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
Jul 09 Javascript
javascript中递归函数用法注意点
Jul 30 Javascript
JQuery实现Ajax加载图片的方法
Dec 24 Javascript
jQuery Mobile动态刷新页面样式的实现方法
May 28 Javascript
求js数组的最大值和最小值的四种方法
Mar 03 Javascript
详解vue项目打包后通过百度的BAE发布到网上的流程
Mar 05 Javascript
Javascript 实现 Excel 导入生成图表功能
Oct 22 Javascript
vue实现手机号码的校验实例代码(防抖函数的应用场景)
Sep 05 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
如何检测JavaScript中的死循环示例详解
Aug 30 Javascript
React Hook用法示例详解(6个常见hook)
Apr 28 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
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
Fatal error: Call to undefined function curl_init()解决方法
2010/04/09 PHP
PHP安全技术之 实现php基本安全
2010/09/04 PHP
PHP定时更新程序设计思路分享
2014/06/10 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
对联广告js flash激活
2006/10/19 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
使用JS轻松实现ionic调用键盘搜索功能(超实用)
2016/09/06 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
JavaScript实现星星等级评价功能
2017/03/22 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
python计算文本文件行数的方法
2015/07/06 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
Python自动发邮件脚本
2017/03/31 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
python生成器推导式用法简单示例
2019/10/08 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
Python预测2020高考分数和录取情况
2020/07/08 Python
Whistles官网:英国女装品牌
2020/08/14 全球购物
会计电算化个人自我评价
2013/11/17 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
中学生秋季运动会广播稿
2014/09/21 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis