简体   繁体   English

有没有更好的方法来“伪造”链接的href属性?

[英]Is there a better way to 'fake' the href attribute for links?

Right now I use: 现在我使用:

href="javascript:void(0)"

for my a tags. 为我的标签。

However, I find this messy, and it is also displayed to the user in FireFox on a hover. 但是,我发现这个很乱,并且它也会在悬停时在FireFox中显示给用户。

What I'm considering doing is replacing my links with just plain p tags and setting up event handlers in JavaScript. 我正在考虑的是用简单的p标签替换我的链接并在JavaScript中设置事件处理程序。

Clarification: 澄清:

This is for modern JavaScript enabled browsers only. 这仅适用于支持JavaScript的现代浏览器。 I'm not yet currently concerned accessibility. 我目前还不关心可访问性。

HTML : HTML

<a href="">Foo</a>

JS : JS

var a = document.getElementsByTagName('a');
for(i=0 ; i<a.length ; i++){
    a[i].addEventListener('click', function(e) {
        if (this.href === window.location.href) {
            e.preventDefault();
        }
    });
}

Demo : http://jsfiddle.net/pqNfg/ 演示http//jsfiddle.net/pqNfg/

不确定你要做什么,但你也可以使用href="#"并使用不引人注目的javascript来阻止点击事件继续。

use 使用

event.preventDefault() to disable any links that might be initiated by a user clicks event.preventDefault()用于禁用用户点击可能启动的任何链接

anchorElement.onclick=function(e)
{
    e.preventDefault();}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM