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

时间:2013-03-15 20:39:01

标签: javascript html

现在我使用:

href="javascript:void(0)"

我的标签。

但是,我发现这个很乱,并且它也会在悬停时在FireFox中显示给用户。

我正在考虑的是用简单的p标签替换我的链接并在JavaScript中设置事件处理程序。

澄清:

这仅适用于支持JavaScript的现代浏览器。我目前还不关心可访问性。

3 个答案:

答案 0 :(得分:2)

<强> HTML

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

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();
        }
    });
}

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

答案 1 :(得分:2)

不确定您要执行的操作,但您也可以使用href="#"并使用不显眼的javascript来停止点击事件的继续。

答案 2 :(得分:1)

使用

event.preventDefault()禁用用户点击

可能启动的任何链接
anchorElement.onclick=function(e)
{
    e.preventDefault();}