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