我想创建一个禁用超链接的脚本,然后在单击一个时激活一个函数。
<a href="http://google.com"></a>
should work as
<a onclick="talk('http://google.com)'></a>
有没有办法知道何时需要重定向,而是运行“talk()”或显示警告窗口?
答案 0 :(得分:3)
var anchors = document.getElementsByTagName('a');
for (var a = 0; a < anchors.length; a++){
anchors[a].href = "javascript:talk('" + anchors[a].href + "');";
}
尽管有一些自由裁量权......
答案 1 :(得分:2)
此解决方案使用(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