下面为JavaScript代码

window.onload = function () {
//好友列表
var f = 0;
//判断指定id的元素在页面中是否存在
if (document.getElementById("menu")) {
  var menu1 = document.getElementById("menu");
  f = 1;
}

  document.oncontextmenu = function (e) {
//菜单定位
//阻止执行默认的鼠标右键事件
e.preventDefault();
if (f == 1) {
menu1.style.display = "block";
//设置自定义菜单的坐标
menu1.style.left = e.offsetX + "px";
menu1.style.top = e.clientY - 100 + "px";
}
return false;//目的也是阻止执行默认的鼠标右键事件且必须放在最后
} if (document.getElementById("contain")) {
document.getElementById("contain").onmousedown = function (e) {
//右击时显示菜单,点击左键或滚轮时隐藏菜单,设置菜单的默认visibility:hidden
if (e.button == 2) {
menu1.style.visibility = "visible";
} else {
menu1.style.visibility = "hidden";
}
 }
}
}

对应的页面div格式可以如下

//css样式另外设置
<div id="contain">
</div>
<div id=menu class="menu">
  <div class="menu-item">菜单选项一</div>
  <div class="menu-item">菜单选项二</div>
</div>

contain "<div>"标签中可以放其它的控件,菜单选项也可以换成超链接或者是按钮

最新文章

  1. AspNetPager分页控件
  2. C标准库&lt;string.h&gt;实现
  3. RDIFramework.NET — 基于.NET的快速信息化系统开发框架 - 5.3 数据库连接管理模块
  4. Android 给listview设置分割线与边界的距离
  5. 6个好用的Web开发工具
  6. The Apache™ Batik Project
  7. 最近见到的JS返回函数的一些题
  8. 最近邻查找算法kd-tree
  9. UOJ#375. 【ZJOI2018】迷宫
  10. Paramiko模块简单使用
  11. PHP 实现多网站共享用户SESSION 数据解决方案
  12. Raft 基础
  13. Advanced redirection features
  14. Hive执行sql文件
  15. 使用7zip批量压缩文件夹到不同压缩包
  16. TensorFlow --playground游乐场
  17. zookeeper单机集群搭建
  18. 获取laravel项目的路径的内置帮助函数
  19. c# 连等的写法都做了什么?
  20. Oracle:在 debian9 上完美安装 oracle 10.2.0.5 x64

热门文章

  1. CSL 的神奇序列(猜猜猜?)
  2. java利用反射动态加载方法
  3. 从xampp到phpmyadmin
  4. Linux vim常见使用详解
  5. Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again
  6. 使用struts2框架后的拦截器
  7. linux学习第十七天 (Linux就该这么学)
  8. springboot Ehcache使用
  9. WinForm DotNetBar 动态添加DataGridView
  10. JavaSE 初学系统托盘图标SystemTray类