让网站中的所有超链接都不起作用

Make all hyperlinks in the site do nothing

本文关键字:超链接 不起作用 网站      更新时间:2023-09-26

我想做一个脚本,禁用超链接,而不是触发一个函数,当一个点击。

<a href="http://google.com"></a>
should work as
<a onclick="talk('http://google.com)'></a>

是否有一种方法可以知道何时想要重定向,而不是运行"talk()"或显示警报窗口?

var anchors = document.getElementsByTagName('a');
for (var a = 0; a < anchors.length; a++){
  anchors[a].href = "javascript:talk('" + anchors[a].href + "');";
}

此解决方案使用(DOM Level 0)事件处理而不是直接接触href。

(function () {
    var anchors = document.getElementsByTagName('a'),
        i = anchors.length;
    while (i--) {
        anchors[i].onclick = function () {
            talk(this.href);
            return false;
        };
    }
}());

编辑:这种方法的好处是,当你想要放回href时,它要简单得多。给定一个锚点tAnchor,您只需要取消onclick属性的设置:

tAnchor.onclick = null