首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用javascript和中间单击打开新选项卡中的网页?

如何使用javascript和中间单击打开新选项卡中的网页?
EN

Stack Overflow用户
提问于 2012-01-23 10:02:34
回答 4查看 2.6K关注 0票数 1

我在列表中有一个锚

代码语言:javascript
运行
复制
<li>
    <a href="page"></a>
    <span>description</span>
    <span>count</span>
</li>

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

我想让浏览器知道,当浏览器在中间单击时,它可以将列表项与锚一样对待,并在一个新的选项卡中打开。

我环顾四周,发现大多数人认为这是不可能的,但我认为我的处境可能会有所不同。查看它的一种方法是,不要显式地告诉浏览器打开一个新选项卡,而是告诉浏览器在使用中间单击时所做的事情。

你认为如何?

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

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-24 20:50:13

好吧,反对者:),我已经想好了怎么做。

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

票数 1
EN

Stack Overflow用户

发布于 2012-01-23 10:04:47

您希望列表项充当链接。要做到这一点,最简单、最可靠的方法是摆脱JavaScript并应用CSS使链接填充列表项。然后,任何点击列表项目都会首先点击链接。Listamatic有很多例子

票数 0
EN

Stack Overflow用户

发布于 2012-01-24 20:58:52

使用jQuery 1.7

代码语言:javascript
运行
复制
$('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,这样您就可以可靠地检测到中间的单击。那就打开一扇新窗户。当然,它是否在新的选项卡或新窗口中结束完全取决于用户的浏览器首选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8969888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档