js自定义右击鼠标菜单

js自定义右击鼠标菜单

前言

前端通常是指网站的表现层和结构层。因此前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,现在最新的高级版本HTML5、CSS3,以及SVG等。 HTML、CSS、JavaScript是前端开发中最基本也是最必须的三个技能。前端的开发中,在页面的布局时, HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。虽然表面看起来很简单,但这里面需要掌握的东西绝对不会少。在进行开发前,需要对这些概念弄清楚、弄明白,这样在开发的过程中才会得心应手。
操作步骤:

1.创建菜单样式CSS

<style>
			#rightMenu
			{
				list-style: none;
				background: #AEF0F2;
				border: solid 1px darkgrey;
				margin: 0px;
				padding: 0px;
				position: absolute;
				left: 0px;
				top: 0px;
				right: 0px;
				display: none;
			}
			#rightMenu li
			{
				border-bottom: solid 1px darkgrey;
			}
</style>

2.创建一个html属性并添加菜单按钮

	<ul id="rightMenu" style="width:70px;">
			<li><button onclick="menu1()">划线操作</button></li>
			<li><button onclick="menu2()">标记操作</button></li>
			<li><button onclick="menu3()">取消操作</button></li>
	</ul>

3.重写浏览器默认鼠标右击函数

var rm=document.getElementById("rightMenu");	
	//自定义一个浏览器右键菜单,单击右键是显示它
	//oncontextmenu上下文菜单事件,右键菜单
	document.documentElement.oncontextmenu=function (e) {
	//显示我们自己定义的右键菜单
	//1.找到菜单
	//提取到函数外面作为全局变量
	//兼容Event对象
	e=e || window.event;
	//2.设置菜单的位置等于鼠标的坐标
	//判断:如果鼠标的位置+菜单的宽度>网页的宽度,那么就改为右边定位
	//鼠标坐标
	var mx=e.clientX;
	var my=e.clientY;
	//菜单宽度
	var rmWidth=parseInt(rm.style.width);
	//网页的宽度(高度用同样的方法解决)
	var pageWidth=document.documentElement.clientWidth;
	//console.log(pageWidth);
	if((mx+rmWidth)<pageWidth)
	{
		rm.style.left=mx+"px";
		rm.style.top=my+"px";
	}
	else
	{
		rm.style.right=mx+"px";
		rm.style.top=my+"px";
	}
	//3.显示右键菜单
	rm.style.display="block";
	//阻止默认的右键菜单显示
	return false;
	};

4.实现对应菜单按钮的方法

//菜单函数
	function menu1()
	{
	//菜单一按钮
	}
	function menu2()
	{
	//菜单二按钮
	}
	function menu3()
	{
	//菜单三按钮
	}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值