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 UI Datepicker length为空或不是对象错误的解决方法
Dec 19 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
JQuery页面的表格数据的增加与分页的实现
Dec 10 Javascript
浅谈JavaScript中的string拥有方法的原因
Aug 28 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
Mar 23 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
Sep 06 Javascript
vue 使用vue-i18n做全局中英文切换的方法
Oct 29 Javascript
vue实现的树形结构加多选框示例
Feb 02 Javascript
简单学习5种处理Vue.js异常的方法
Jun 17 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
Jul 10 Javascript
vue仿ios列表左划删除
Sep 26 Javascript
JavaScript实现外溢动态爱心的效果的示例代码
Mar 21 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
php自动获取目录下的模板的代码
2010/08/08 PHP
PHP执行SQL文件并将SQL文件导入到数据库
2015/09/17 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
使用Java实现简单的server/client回显功能的方法介绍
2013/05/03 Javascript
禁止拷贝网页内容的js代码
2014/01/22 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
js+html5实现的自由落体运动效果代码
2016/01/28 Javascript
JS面向对象编程详解
2016/03/06 Javascript
JavaScript入门系列之知识点总结
2016/03/24 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
2016/09/16 Javascript
Angular2 环境配置详细介绍
2016/09/21 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
jQuery插件DataTables分页开发心得体会
2017/08/22 jQuery
vue element实现表格合并行数据
2020/11/30 Vue.js
python 生成不重复的随机数的代码
2011/05/15 Python
浅谈python中列表、字符串、字典的常用操作
2017/09/19 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python2和python3实现在图片上加汉字的方法
2019/08/22 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
Cinque网上商店:德国服装品牌
2019/03/17 全球购物
求职信范文大全
2014/05/26 职场文书
小学数学教研活动总结
2014/07/01 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014年环保局工作总结
2014/12/11 职场文书
追讨欠款律师函
2015/06/24 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL
Python OpenGL基本配置方式
2022/05/20 Python