在Chrome 12中调试Javascript Click处理程序


oLink = document.getElementById("ItemDescend");
alert(oLink); // fire up alert with link target
addEventHandler(oLink, "click", function(e) { alert(1); sortTable('theList', 0, true); preventDefault(e); },false); // does not fire up inner alert!

上面的代码在测试过的所有其他浏览器中都能运行,但在Chrome 12中却不能。如果有人给我看一个解决方案,我将不胜感激。谢谢

您的addEventHandler方法正在检查一个不相关的属性,这是错误的。

相反,您应该检查addEventListener方法,并且只在不存在attachEvent的情况下调用它
将条件更改为

if (typeof (oNode.addEventListener) !== "function")
addEventHandler(obj,type,fn)
{
    if(obj.addEventListener)
    {
        obj.addEventListener(type,fn,false);
    }
    else if (obj.attachEvent)
    {
        obj.attachEvent("on"+type,fn);
    }
}

相关内容

  • 没有找到相关文章

最新更新