如果我定义这样的函数:
function doSomething()
{
this.style.color = '#cc0000';
}
做
element.attachEvent('onclick',doSomething)
和
element.addEventListener('click',doSomething,false)
获得相同的结果?为什么?非常感谢。
答案 0 :(得分:4)
是的,但在不同的浏览器中。
attachEvent
是您必须在IE中使用的方法。
addEventListener
适用于所有其他浏览器(Firefox,Chrome,Safari,Opera等)。
这是W3C标准。 IE9试图与W3C更兼容并支持它。
我建议阅读Advanced event registration models,它可以很好地解释浏览器差异。
您还应该阅读other articles about events on quirksmode.org。他们会为你提供一般的事件处理。
答案 1 :(得分:1)
相当多,addEventListener是添加事件的W3C方式,并且受大多数浏览器的支持,而attachEvent是IE的东西,主要由它们支持。 Read more