我有一个javascript,它假设在用户点击时将通知标记为已读。
javascript在<a>
标记中触发,在脚本返回true后,将用户重定向到另一个target="_blank"
的页面;
但是如果用户使用他的鼠标中键,或者使用他的右键单击 - &gt;在新标签中打开, 它不会触发事件。
我知道我可以制作一个“链接”而不允许在新标签选项中打开,但我不愿意。
答案 0 :(得分:1)
使用mousedown事件包括按下了哪个按钮
$("someTagOrID").on('mousedown', function(e) {
if( (e.which === 1) ) {
alert("left button");
}if( (e.which === 3) ) {
alert("right button");
}else if( (e.which === 2) ) {
alert("middle button");
}
});
答案 1 :(得分:0)
我的回答来源和您的问题是重复的:How to distinguish between left and right mouse click with jQuery
虽然这个问题的答案可以帮到你:
从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!');
}
});
最初发布于&#34; tinybyte&#34;
答案 2 :(得分:0)
您可以简单地使用mouse up
事件。
像这样:
<a href="http://www.google.com" onmouseup="alert('a')">link</a>