Chrome在事件被阻止后显示目标链接

时间:2014-12-10 17:48:39

标签: javascript jquery html css google-chrome

我有以下代码:

HTML:

<a href="#div1">link 1</a>
<a href="#div2">link 2</a>
<a href="#div3">link 3</a>
<a href="#div4">link 4</a>
<div id="div1">div 1</div>
<div id="div2">div 2</div>
<div id="div3">div 3</div>
<div id="div4">div 4</div>

CSS:

a{
    padding-left:20px;
}
div{
    background:cyan;
    margin:600px 0;
}

jQuery的:

$('a').click(function(event){
    event.preventDefault();
});

此处,即使默认定位操作阻止,Chrome在点击a标记后仍会显示目标,而我不在链接上悬停(但是,在IE或Mozilla的情况下,此不会发生):

enter image description here

Check this fiddle

如何解决这个问题?

修改

我的意思是 - 即使我没有在链接上徘徊,也会显示目标。

除此之外,它会让任何非技术用户误认为页面仍在加载

1 个答案:

答案 0 :(得分:3)

这是浏览器的本机行为。它显示的是URL,因为它是活动链接的href。单击后链接仍然处于活动状态,因为它具有焦点。如果您想使其处于非活动状态,则可以在点击时模糊元素。

$('a').click(function(event){
    event.target.blur();
    event.preventDefault();
}); 

虽然在链接悬停时网址仍然可见。