我在列表项中有一个锚点
<li>
<a href="page"></a>
<span>description</span>
<span>count</span>
</li>
使用javascript,只要单击列表项,窗口就会打开锚点的href。
我想让浏览器知道,当它点击中间位置时,它可以将列表项视为锚点,并在新选项卡中打开。
我环顾四周,看到大多数人认为这不可能做到,但我认为我的情况可能会有所不同。查看它的一种方法是不要明确告诉浏览器打开一个新选项卡,而是告诉浏览器执行使用中间点击时的操作。
您怎么看?
编辑:更新了html以获得更准确的说明。锚点不是列表中唯一的元素
答案 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
,以便您可以可靠地检测中间点击。然后打开一个新窗口。当然,它是否最终在新标签或新窗口中完全取决于用户的浏览器偏好。