我在列表中有一个锚
<li>
<a href="page"></a>
<span>description</span>
<span>count</span>
</li>
使用javascript,每当单击列表项时,窗口就会打开锚点的href。
我想让浏览器知道,当浏览器在中间单击时,它可以将列表项与锚一样对待,并在一个新的选项卡中打开。
我环顾四周,发现大多数人认为这是不可能的,但我认为我的处境可能会有所不同。查看它的一种方法是,不要显式地告诉浏览器打开一个新选项卡,而是告诉浏览器在使用中间单击时所做的事情。
你认为如何?
编辑:更新的html以获得更准确的描述。锚点不是列表中唯一的元素。
发布于 2012-01-24 20:50:13
好吧,反对者:),我已经想好了怎么做。
使用JS/jQuery,我可以确定按哪个按钮。使用这种方法,只有在按下中间按钮时,我才能将锚点上的目标值更改为"_blank“。
发布于 2012-01-23 10:04:47
您希望列表项充当链接。要做到这一点,最简单、最可靠的方法是摆脱JavaScript并应用CSS使链接填充列表项。然后,任何点击列表项目都会首先点击链接。Listamatic有很多例子。
发布于 2012-01-24 20:58:52
使用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
,这样您就可以可靠地检测到中间的单击。那就打开一扇新窗户。当然,它是否在新的选项卡或新窗口中结束完全取决于用户的浏览器首选项。
https://stackoverflow.com/questions/8969888
复制相似问题