| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <!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>
|