//注册鼠标右键事件
$.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 常用事件