вопрос о передаче событий в javascript - PullRequest
1 голос
/ 01 апреля 2011

Если я определю функцию следующим образом:

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

Do

element.attachEvent('onclick',doSomething)

и

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

получить тот же результат?И почему? Спасибо большое.

Ответы [ 2 ]

4 голосов
/ 01 апреля 2011

Да, но в разных браузерах.

  • attachEvent - метод, который вы должны использовать в IE.

  • addEventListener доступно во всех других браузерах (Firefox, Chrome, Safari, Opera и т. Д.). Это стандарт W3C. IE9 пытается быть более совместимым с W3C и также поддерживает его.

Предлагаю прочитать Расширенные модели регистрации событий , которые довольно хорошо объясняют различия в браузере.

Вам также следует прочитать другие статьи о событиях на quirksmode.org . Они дадут вам хорошую обработку событий в целом.

1 голос
/ 01 апреля 2011

В значительной степени addEventListener - это способ добавления событий W3C, поддерживаемый большинством браузеров, в то время как attachEvent - это функция IE и поддерживается в основном ими. Читать дальше .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...