94 lines
1.9 KiB
HTML
94 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>右键菜单</title>
|
|
<style>
|
|
body {
|
|
height: 100vh;
|
|
}
|
|
|
|
body,
|
|
ul,
|
|
li {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
ul {
|
|
width: 152px;
|
|
border-radius: 6px;
|
|
box-shadow: 2px 2px 9px #d7d7d7;
|
|
display: none;
|
|
position: fixed;
|
|
}
|
|
|
|
li {
|
|
height: 40px;
|
|
padding: 0 15px;
|
|
box-sizing: border-box;
|
|
line-height: 40px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<ul>
|
|
<li>新建文件夹</li>
|
|
<li>上传文件</li>
|
|
<li>上传文件夹</li>
|
|
<li>刷新网页</li>
|
|
</ul>
|
|
|
|
</body>
|
|
<script>
|
|
|
|
$("body").oncontextmenu = function (e) {
|
|
e.preventDefault();
|
|
|
|
var { x, y } = e;
|
|
var { clientWidth, clientHeight } = document.body;
|
|
|
|
if (clientWidth - x < 152 && clientHeight - y < 160) {
|
|
$("ul").style = `
|
|
top: ${y - 160}px;
|
|
left: ${x - 152}px;
|
|
display: block;
|
|
`
|
|
} else if (clientWidth - x < 152) {
|
|
|
|
$("ul").style = `
|
|
top: ${y}px;
|
|
left: ${x - 152}px;
|
|
display: block;
|
|
`
|
|
} else if (clientHeight - y < 160) {
|
|
|
|
$("ul").style = `
|
|
top: ${y - 160}px;
|
|
left: ${x}px;
|
|
display: block;
|
|
`
|
|
} else {
|
|
$("ul").style = `
|
|
top: ${y}px;
|
|
left: ${x}px;
|
|
display: block;
|
|
`
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function $(className) {
|
|
return document.querySelector(className)
|
|
}
|
|
|
|
</script>
|
|
|
|
</html> |