JavaScript实现鼠标右键自定义菜单:
<!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>
.area1 {
200px;
height: 200px;
border: 1px solid #ccc;
float: left;
background: #008c8c
}
.area2 {
200px;
height: 200px;
border: 1px solid #ccc;
float: right;
background: #008c8c
}
.contain-text {
position: fixed;
left: 300px;
top: 300px;
border: 1px solid #ccc;
background:#fff;
display: none;
padding:10px;
text-align:left;
}
.contain-text ul {
list-style: none;
margin:0;
padding:0;
}
</style>
</head>
<body>
<div class="area1">
</div>
<div class="area2">
</div>
<div class="contain-text">
<ul>
<li>菜单1</li>
<li>菜单2</li>
<li>菜单3</li>
<li>菜单4</li>
<li>菜单5</li>
<li>菜单6</li>
<li>菜单7</li>
<li>菜单8</li>
<li>菜单9</li>
<li>菜单10</li>
</ul>
</div>
<script>
var div1 = document.querySelector(".area1");
var div2 = document.querySelector(".area2");
var menu = document.querySelector(".contain-text");//菜单
//注册自定义鼠标右键菜单事件
div1.oncontextmenu = div2.oncontextmenu = function (e) {
e.preventDefault();
menu.style.display = "block";
console.log(e.clientX, e.clientY);
menu.style.left = e.clientX + "px";
menu.style.top = e.clientY + "px";
}
window.onmousedown = function(){
menu.style.display = "none";
}
</script>
</body>
</html>
效果展示:
