Jquery 右键菜单示例

本文介绍了一个使用HTML、CSS及jQuery实现的自定义右键菜单。通过禁用默认的浏览器右键菜单,并利用鼠标事件来显示一个定制化的菜单,包含多个选项如“文件”、“新建”等,同时详细解释了其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


CSS部分:

		<script type="text/javascript" src="f:/java/js/jquery.js"> </script>
		<!--css,js-->
		<style type="text/css">
			*{margin:0;padding:0;}
			body{background:#183;}
			.menu{width:150px;height:auto;border:1px solid #666;box-shadow:1px 1px 15px #ccc;background:#fff;display:none;position:absolute;}
			.menu ul li{height:30xp;line-height:30px;border-bottom:1px solid #ccc;font-size:14px;font-family:"黑体";list-style:none;}
			.menu .m_ico{width:20px;height:20px;display:block;float:left;background:url("images/icon-ui.png");background-position:-49px 85px;margin-top:5px;margin-right:15px;margin-left:15px;}
			.menu ul li:hover{background:#f2f2f2;cursor:pointer;color:#183;}
		</style>



HTML部分:

<div class="menu">
	<ul>
		<li><i class="m_ico"></i>文件</li>
		<li><i class="m_ico"></i>新建</li>
		<li><i class="m_ico"></i>删除</li>
		<li><i class="m_ico"></i>保存</li>
		<li><i class="m_ico"></i>刷新</li>
		<li><i class="m_ico"></i>属性</li>
	</ul>
</div>



JS部分:

<script type="text/javascript">
	/* 屏蔽网页右键的系统菜单*/
	document.oncontextmenu=function(){
		return false;
	}

	/* 鼠标事件 */
	$(document).mousedown(function(e){
		var key = e.which;  //获取鼠标键;
		if(key===3){
			var X = e.clientX;
			var Y = e.clientY;
			//$(".menu").css({"margin-top":Y,"margin-left":X}).fadeIn('slow');   //方法一
			$(".menu").css({top:Y,left:X}).fadeIn('slow');						 //方法二
		}
		if(key===1){
			$(".menu").fadeOut('normal');
		}
	});


	/* 执行右键选项 */
	$(".menu").find("li").click(function(){
		var _index = $(this).index();
		var text = $(".menu").find("li").eq(_index).text();
		alert("您执行了:"+text);
	});

	/* 右键菜单高度 
	alert($(".menu").height());
	*/

	/* 浏览器的可见高度 
	alert(document.body.clientHeight);  
	alert(document.documentElement.clientHeight);
	*/

	/* 浏览器的可见宽度
	alert(document.body.clientWidth);
	alert(document.documentElement.clientWidth);
	*/


</script>



花生米AJAX-UI系列之:基于JQUERY的浮动层(右键)列表菜单0.2改进版 改版本是“使用JQUERY 自创的自定义右键菜单插件 ”的重大改进,原始版本不再使用! 可以对表格,列表,或者单个DOM容器进行右键绑定 菜单项的文字、图标样式,调用方法均可自定义,图标样式定义更为灵活 菜单中分隔符的多少和位置也可自定义 提供了菜单项中那一项被作废(即点击了也不能调用其方法的状态),哪一项被重新启用的方法 正式支持级联式多层子菜单显示,子菜单与其父结点所在父级菜单呈树形数据结构关系。 且子菜单可以删除,也可以把一个叶子结点扩展成为子菜单列表的父结点。 子菜单也是一个GooContextMenu类对象,保存在父结点所在菜单GooContextMenu类对象的$childMenu数组中, 一些方法调用实际上为递归式调用。 菜单显示不再以鼠标事件发生点e为坐标,会根据浏览器视窗的大小以及菜单的宽高、事件发生的坐标为判断条件, 以确保菜单显示时不会让浏览器的滚动条出现或长度改改,同时又能在现有视窗中完整显示菜单所有内容。 在绑定能触发菜单显示的事件时,可用两种方法: //绑定一个父框架以操作里面的多项子元素(只需绑定一次),用来代替对每个子元素都绑定 //单单只绑定一个DOM元素(参数jq为一个JQUERY对象) 两种方法都要传一个必要的事件名称参数,如contextmenu右击,mousedown鼠标按下,比原来只能右键弹出更灵活。 改变了点击菜单项目时,触发方法的传参定义,现在只传两个参数:(点击菜单项目单元的ID,触发浮动菜单显示的DOM容器的ID)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值