js右键生成菜单
2024-10-21 11:28:28
<!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>
</head>
<style>
*{
margin: 0;
padding: 0;
}
ul{
list-style: none;
width: 200px;
padding: 10px;
border: 1px solid black;
display: none;
position: absolute;
}
ul li:hover{
background: skyblue; } </style>
<body>
<ul id="list">
<li class="aaa">1111</li>
<li class="bbb">2222</li>
<li class="ccc">3333</li>
<li class="ddd">4444</li> </ul>
<script>
document.addEventListener("contextmenu",function(evt){
evt.preventDefault()
list.style.display="block"
if(x >= document.documentElement.clientWidth-list.offsetWidth){
x=document.documentElement.clientWidth-list.offsetWidth }
if(y >= document.documentElement.clientHeight-list.offsetHeight){
y=document.documentElement.clientHeight-list.offsetHeight } var x=evt.clientX
var y=evt.clientY
list.style.left=x + "px"
list.style.top=y + "px"
})
document.addEventListener("click",()=>{
list.style.display="none" })
list.onclick=function(evt){
console.log("list",evt.target)
if(evt.target.className==="aaa"){
console.log(111111)
}
}
</script>
</body>
</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>
</head>
<style>
*{
margin: 0;
padding: 0;
}
ul{
list-style: none;
width: 200px;
padding: 10px;
border: 1px solid black;
display: none;
position: absolute;
}
ul li:hover{
background: skyblue;
}
</style>
<body>
<ul id="list">
<li class="aaa">1111</li>
<li class="bbb">2222</li>
<li class="ccc">3333</li>
<li class="ddd">4444</li>
</ul>
<script>
document.addEventListener("contextmenu",function(evt){
evt.preventDefault()
list.style.display="block"
if(x >= document.documentElement.clientWidth-list.offsetWidth){
x=document.documentElement.clientWidth-list.offsetWidth
}
if(y >= document.documentElement.clientHeight-list.offsetHeight){
y=document.documentElement.clientHeight-list.offsetHeight
}
var x=evt.clientX
var y=evt.clientY
list.style.left=x + "px"
list.style.top=y + "px"
})
document.addEventListener("click",()=>{
list.style.display="none"
})
list.onclick=function(evt){
console.log("list",evt.target)
if(evt.target.className==="aaa"){
console.log(111111)
}
}
</script>
</body>
</html>
最新文章
- ORA-01102: cannot mount database in EXCLUSIVE mode
- Data Structure 之 最优二叉树
- Project Euler 98:Anagramic squares 重排平方数
- c语言学习之第四章
- Springmvc加载静态文件和开启EL表达式的支持
- 《数字图像处理原理与实践(MATLAB版)》一书之代码Part6
- WinSock 异步I/O模型-2
- 解决 IIS 反向代理ARR URLREWRITE 设置后,不能跨域跳转 return Redirect 问题
- map、filter、reduce函数
- call 和 apply 的区别
- Java中的参数传递 --Java
- go语言使用go-sciter创建桌面应用(四) 固定窗口大小
- c# 限制同时启动多个实例程序运行
- css hover使用条件
- 互评Beta版本——Thunder组爱阅app(探路者团队测评)
- python2(中文编码问题):UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0x?? in position 1
- 简单工厂模式(simple factory pattern)
- memcached 学习笔记 3
- OCP新题库,052新加的考题及答案整理-24题
- BZOJ 3289 Mato的文件管理(莫队+树状数组)