js之自定义鼠标右键菜单

自定义右键菜单

让原有的鼠标右键消失,自己定义鼠标右键菜单

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			ul,li{
				list-style: none;
				padding: 0;
				margin: 0;
			}
			ul{
				display: none;
				position: absolute;
				background: cyan;
			}
			li{
				height: 20px;
				width: 50px;
				
			}
			li:hover{
				background: burlywood;
				cursor: pointer;
			}
		</style>
		<script type="text/javascript">
			window.onload=function(){
				document.oncontextmenu=function(ev){
					var clintX=ev.clientX;  //ev获取的只是屏幕可视范围的x,y值
					var clintY=ev.clientY;
					var scollTop=document.documentElement.scrollTop|| document.body.scrollTop;   //当有下拉条的时候必须加上当前屏幕不可视范围的left,和top值
					var scollLeft=document.documentElement.scrollLeft || document.body.scrollLeft
					document.getElementsByTagName('ul')[0].style.left=clintX+scollLeft+'px';
					document.getElementsByTagName('ul')[0].style.top=clintY+scollTop+'px';
					document.getElementsByTagName('ul')[0].style.display='block';
					return false;  //阻止鼠标右键菜单出现
				}
			}
		</script>
	</head>
	<body style="height: 2000px;">
		<ul>
			<li>复制</li>
			<li>粘贴</li>
			<li>全选</li>
			<li>删除</li>
		</ul>
	</body>
</html>


posted @   菜鸡变小鸟  阅读(4982)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
点击右上角即可分享
微信分享提示