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 相关文章推荐
javascript使用activex控件的代码
Jan 27 Javascript
利用webqq协议使用python登录qq发消息源码参考
Apr 08 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
Sep 29 Javascript
对JavaScript中this指针的新理解分享
Jan 31 Javascript
JS实现双击编辑可修改状态的方法
Aug 14 Javascript
jquery插件pagination实现无刷新ajax分页
Sep 30 Javascript
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
详解Vue双向数据绑定原理解析
Sep 11 Javascript
使用vue制作滑动标签
Sep 21 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
Jul 18 Javascript
Vue ECharts实现机舱座位选择展示功能
May 15 Vue.js
Vite + React从零开始搭建一个开源组件库
Jun 25 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
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
Javascript中的匿名函数与封装介绍
2015/03/15 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
javascript常用函数(1)
2015/11/04 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Python Socket编程入门教程
2014/07/11 Python
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
Python获取网段内ping通IP的方法
2019/01/31 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
Python中的xlrd模块使用原理解析
2020/05/21 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
Python Socket TCP双端聊天功能实现过程详解
2020/06/15 Python
理工大学毕业生自荐信
2013/11/01 职场文书
招商业务员岗位职责
2013/12/16 职场文书
珍爱生命演讲稿
2014/05/10 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
结婚仪式主持词
2015/06/29 职场文书
员工给公司的建议书
2019/06/24 职场文书
小学生一年级(书信作文)
2019/08/13 职场文书
如何使用Tkinter进行窗口的管理与设置
2021/06/30 Python
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers