jquery 中 注册鼠标右键单击事件

//注册鼠标右键事件
	$.fn.extend({ 
		//定义鼠标右键方法,接收一个函数参数 
		"rightclick":function(fn){
			//调用这个方法后将禁止系统的右键菜单 
			$(this).bind('contextmenu',function(e){
				return false;
			}); 
			//为这个对象绑定鼠标释放事件 
			$(this).mouseup(function(e){
				//如果按下的是右键,则执行函数 
				if(3 == e.which){
					fn(e);
				}
			}); 
		} 
	}); 

在jquery中进行标准化的鼠标键值定义为:

左键=1;

滑轮=2;

右键=3;


在个人的实际操作过程中(in chrome and ie9)的经验是:

在对 "contextmenu" 事件进行处理之前

jquery 的event 对象无法显示 which == 3 值,即对鼠标右键无效;

之后可以对右键事件进行重新定义。

而以上代码其实也是存在问题的:

即对自定义事件回传的e对象无法使用jquery 常用事件

你可能感兴趣的:(jquery 中 注册鼠标右键单击事件)