如何使用javascript和中间点击在新标签页中打开网页

时间:2012-01-23 10:02:34

标签: javascript html tabs

我在列表项中有一个锚点

<li>
    <a href="page"></a>
    <span>description</span>
    <span>count</span>
</li>

使用javascript,只要单击列表项,窗口就会打开锚点的href。

我想让浏览器知道,当它点击中间位置时,它可以将列表项视为锚点,并在新选项卡中打开。

我环顾四周,看到大多数人认为这不可能做到,但我认为我的情况可能会有所不同。查看它的一种方法是不要明确告诉浏览器打开一个新选项卡,而是告诉浏览器执行使用中间点击时的操作。

您怎么看?

编辑:更新了html以获得更准确的说明。锚点不是列表中唯一的元素

3 个答案:

答案 0 :(得分:0)

您希望列表项用作链接。最简单,最可靠的方法是删除JavaScript并应用CSS以使链接填充列表项。然后点击列表项将首先点击链接。 Listamatic has many examples

答案 1 :(得分:0)

好吧,不管怎么说:),我已经想出了怎么做。

使用JS / jQuery,我可以确定按下了哪个按钮。使用这个我只能在按下中间按钮时将锚点上的目标值更改为“_blank”。

答案 2 :(得分:0)

使用jQuery 1.7

$('ul').on('click', 'li', function(e){
    if(e.which == 2){
        var newWindow = $(this).find('a').attr('href');
        window.open(newWindow, 'newWindow');
        e.preventDefault();
    }
});

就是这样。 jQuery将event.button规范化为event.which,以便您可以可靠地检测中间点击。然后打开一个新窗口。当然,它是否最终在新标签或新窗口中完全取决于用户的浏览器偏好。