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插件-jRating评分插件源码分析及使用方法
Dec 28 Javascript
轻量级javascript 框架Backbone使用指南
Jul 24 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
jQuery实现只允许输入数字和小数点的方法
Mar 02 Javascript
原生JS实现图片轮播与淡入效果的简单实例
Aug 21 Javascript
Vue.js第四天学习笔记
Dec 02 Javascript
微信小程序url与token设置详解
Sep 26 Javascript
解决iView中时间控件选择的时间总是少一天的问题
Mar 15 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
vue router 通过路由来实现切换头部标题功能
Apr 24 Javascript
js实现图片无缝循环轮播
Oct 28 Javascript
jQuery实时统计输入框字数及限制
Jun 24 jQuery
快速掌握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
php 高效率写法 推荐
2010/02/21 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
jquery text,radio,checkbox,select操作实现代码
2009/07/09 Javascript
原生javascript兼容性测试实例
2013/07/01 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
javascript实现起伏的水波背景效果
2016/05/16 Javascript
BootStrap.css 在手机端滑动时右侧出现空白的原因及解决办法
2016/06/07 Javascript
微信小程序 picker 组件详解及简单实例
2017/01/10 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
vue+canvas实现拼图小游戏
2020/09/18 Javascript
在Python中使用lambda高效操作列表的教程
2015/04/24 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
Python使用functools实现注解同步方法
2018/02/06 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
PyCharm 2019.3发布增加了新功能一览
2019/12/08 Python
浅谈PyTorch中in-place operation的含义
2020/06/27 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
后勤园长自我鉴定
2013/10/17 职场文书
致标枪运动员广播稿
2014/02/06 职场文书
市场营销大学生职业规划书
2014/02/25 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
离婚协议书范文2015
2015/01/26 职场文书
学子宴致辞大全
2015/07/27 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
创业计划书之废品回收
2019/09/26 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL