|
@@ -0,0 +1,89 @@
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en">
|
|
|
+<head>
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
+ <title>Document</title>
|
|
|
+ <style>
|
|
|
+ *{
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+ }
|
|
|
+ li{
|
|
|
+ list-style: none;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ .menu-content{
|
|
|
+ width: 200px;
|
|
|
+ height: 300px;
|
|
|
+ border:1px solid black;
|
|
|
+ display: none;
|
|
|
+ position: fixed;
|
|
|
+ background-color: #fff;
|
|
|
+ z-index: 10;
|
|
|
+ }
|
|
|
+ .menu-content ul li{
|
|
|
+ height: 50px;
|
|
|
+ line-height: 50px;
|
|
|
+ padding-left: 20px;
|
|
|
+ border-bottom: 1px solid black;
|
|
|
+ }
|
|
|
+ .mask{
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ bottom: 0;
|
|
|
+ background-color: rgba(0,0,0,0.5);
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+ <div class="menu-content">
|
|
|
+ <ul>
|
|
|
+ <li>菜单项一</li>
|
|
|
+ <li>菜单项二</li>
|
|
|
+ <li>菜单项三</li>
|
|
|
+ <li>菜单项四</li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <div class="mask"></div>
|
|
|
+ <script>
|
|
|
+ // 第一步获取要控制的元素
|
|
|
+ // 获取菜单
|
|
|
+ var oMenu = document.getElementsByClassName("menu-content");
|
|
|
+ oMenu = oMenu[0];
|
|
|
+ // 获取整个文档
|
|
|
+ var oDoc = document.documentElement;
|
|
|
+ // 获取半透明蒙版
|
|
|
+ var oMask = document.getElementsByClassName("mask");
|
|
|
+ oMask = oMask[0];
|
|
|
+
|
|
|
+ // 第二步绑定事件 为文档绑定事件 控制菜单显示
|
|
|
+ oDoc.oncontextmenu = function(e){
|
|
|
+ // 第三部控制菜单栏显示
|
|
|
+ oMenu.style.display = "block";
|
|
|
+ // 控制蒙版显示
|
|
|
+ oMask.style.display = "block";
|
|
|
+ // 获取鼠标点击位置 通过事件对象
|
|
|
+ var x = e.clientX;
|
|
|
+ var y = e.clientY;
|
|
|
+ console.log(x,y);
|
|
|
+ // 第四步 设置菜单栏位置
|
|
|
+ oMenu.style.top = y + "px";
|
|
|
+ oMenu.style.left = x + "px";
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 第五步控制菜单隐藏
|
|
|
+ oMask.onclick = function(){
|
|
|
+ // 控制菜单栏隐藏
|
|
|
+ oMenu.style.display = "none";
|
|
|
+ // 控制蒙版隐藏
|
|
|
+ oMask.style.display = "none";
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+</html>
|