这是我的代码为什么onclick函数在onclick上运行,但是当我手动调用它时,却不能运行onclick函数?
// Register onclick
var old_onclick = link.onclick;
link.onclick = function() {
astr_track_action(param);
if(typeof(old_onclick) == "function")
old_onclick();
}
这是HTML
<a onclick="alert('hello!');" href="http://www.google.com?acme=link&foo=bar">To google!</a>
当我点击链接,警报弹出。但是当我用我的JS代码覆盖onclick时,弹出而不是。
任何想法?
编辑:我只想补充,我已经调试并确认old_onclick()
运行,但没有警告信息显示出来。
编辑:这里是循环开始的完整代码。我不明白它是如何相关,但它要求:
for(var i = 0; i < document.links.length; i++)
{
var link = document.links[i];
var eventlink = link.href.split("acme=");
if(eventlink.length > 1)
{
var param = eventlink[1].split("&")[0];
var newlink = link.href;
// Register onclick
var old_onclick = link.onclick;
link.onclick = function() {
astr_track_action(param);
if(typeof(old_onclick) == "function")
old_onclick();
}
是'astr_track_action`定义? `param`是在什么地方定义的? `astr_track_action`执行成功了吗?如果您评论此行,会发生什么情况? – 2011-01-11 12:40:12