|
|
@@ -0,0 +1,85 @@
|
|
|
+<!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;
|
|
|
+ }
|
|
|
+ .mask{
|
|
|
+ width: 100vw;
|
|
|
+ height: 100vh;
|
|
|
+ background-color: #aaa;
|
|
|
+ position: fixed;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ /* right: 0;
|
|
|
+ bottom: 0; */
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ .menu{
|
|
|
+ width: 200px;
|
|
|
+ height: 300px;
|
|
|
+ background-color: #fff;
|
|
|
+ position: fixed;
|
|
|
+ top:0;
|
|
|
+ left:0;
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ .menu li{
|
|
|
+ list-style: none;
|
|
|
+ border-bottom: 1px solid #ccc;
|
|
|
+ text-align: center;
|
|
|
+ padding: 10px 0;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+ <!-- 背景蒙板 -->
|
|
|
+ <div class="mask"></div>
|
|
|
+ <!-- 菜单 -->
|
|
|
+ <div class="menu">
|
|
|
+ <ul>
|
|
|
+ <li>复制</li>
|
|
|
+ <li>粘贴</li>
|
|
|
+ <li>删除</li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ <script>
|
|
|
+ // 第一步:获取要控制的元素
|
|
|
+ var mask = document.getElementsByClassName("mask")[0];
|
|
|
+ var menu = document.getElementsByClassName("menu")[0];
|
|
|
+ // 获取整个文档页面
|
|
|
+ var doc = document.documentElement;
|
|
|
+ // 第二步:绑定事件
|
|
|
+ // 点击右键弹出菜单和背景蒙板
|
|
|
+ doc.oncontextmenu = function(event){
|
|
|
+ // 获取当前鼠标点击的位置
|
|
|
+ var x = event.clientX;
|
|
|
+ var y = event.clientY;
|
|
|
+ console.log(x,y)
|
|
|
+ // console.log("右键点击了");
|
|
|
+ // 显示背景蒙板 和 菜单
|
|
|
+ mask.style.display = "block";
|
|
|
+ menu.style.display = "block";
|
|
|
+
|
|
|
+ // 修改菜单位置
|
|
|
+ menu.style.left = x + "px";
|
|
|
+ menu.style.top = y + "px";
|
|
|
+
|
|
|
+ // return false阻止默认事件 但return一定要写在代码最后
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 点击蒙板隐藏菜单
|
|
|
+ mask.onclick = function(){
|
|
|
+ // 隐藏背景蒙板 和 菜单
|
|
|
+ mask.style.display = "none";
|
|
|
+ menu.style.display = "none";
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+</body>
|
|
|
+</html>
|