如何触发jquery"点击"即使用户点击了#34;中间按钮"或右键单击 - >在新标签页中打开

时间:2014-05-22 10:31:51

标签: javascript jquery

我有一个javascript,它假设在用户点击时将通知标记为已读。

javascript在<a>标记中触发,在脚本返回true后,将用户重定向到另一个target="_blank"的页面;

但是如果用户使用他的鼠标中键,或者使用他的右键单击 - &gt;在新标签中打开, 它不会触发事件。

我知道我可以制作一个“链接”而不允许在新标签选项中打开,但我不愿意。

3 个答案:

答案 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>