javascript中的事件处理问题

时间:2011-04-01 07:34:55

标签: javascript event-handling

如果我定义这样的函数:

function doSomething()
{
    this.style.color = '#cc0000';
}

element.attachEvent('onclick',doSomething)

element.addEventListener('click',doSomething,false)

获得相同的结果?为什么?非常感谢。

2 个答案:

答案 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