如何区分jQuery的左右鼠标点击
你如何获得使用jQuery点击鼠标按钮?
$('div').bind('click', function(){
alert('clicked');
});
这是由右键和左键触发的,能够捕捉鼠标右键点击的方式是什么? 如果像下面这样存在,我会很开心:
$('div').bind('rightclick', function(){
alert('right mouse button is pressed');
});
随着jQuery的版本1.1.3, event.which
标准化event.keyCode
和event.charCode
,所以你不必担心浏览器的兼容性问题。 关于event.which
文档
event.which
将分别为左,中,右鼠标按钮分别输出1,2或3,如下所示:
$('#element').mousedown(function(event) {
switch (event.which) {
case 1:
alert('Left Mouse button pressed.');
break;
case 2:
alert('Middle Mouse button pressed.');
break;
case 3:
alert('Right Mouse button pressed.');
break;
default:
alert('You have a strange Mouse!');
}
});
编辑 :我改变它在jQuery 1.7或更高版本中使用.on()
动态添加元素:
$(document).on("contextmenu", ".element", function(e){
alert('Context Menu event has fired!');
return false;
});
演示:jsfiddle.net/Kn9s7/5
[原始帖子的开头]这是对我有用的东西:
$('.element').bind("contextmenu",function(e){
alert('Context Menu event has fired!');
return false;
});
如果你有多种解决方案^^
编辑 :Tim Down提出了一个很好的观点,即并不总是会触发contextmenu
事件的right-click
,而且当按下上下文菜单键时(这可以替代right-click
)
你可以很容易地分辨哪一个鼠标按键被检查按下which
鼠标事件的事件对象的属性:
/*
1 = Left mouse button
2 = Centre mouse button
3 = Right mouse button
*/
$([selector]).mousedown(function(e) {
if (e.which === 3) {
/* Right mouse button was clicked! */
}
});
链接地址: http://www.djcxy.com/p/80919.html
上一篇: How to distinguish between left and right mouse click with jQuery