События всплывают до окна в IE? - PullRequest
2 голосов
/ 24 ноября 2011

Я связываю простое событие щелчка с объектом window, но обработчик не вызывается в IE8 (работает в Chrome и FF):

$(window).click(function (e) {
  alert('Hello there! I\'m in the window.click hanlder!');
});

Кто-нибудь, почему это происходит?

1 Ответ

5 голосов
/ 24 ноября 2011

Похоже, что IE (тестирование IE8) не передает события в window.

Вот пример (http://jsfiddle.net/SZXrn/8/):

if (window.attachEvent) // IE
{
  window.attachEvent('onclick', function () {
      alert("Yay window obj was clicked! IE");
  });

  document.attachEvent('onclick', function () {
      alert("Yay document obj was clicked! IE");
  });
}
else if (window.addEventListener) // Other
{
  window.addEventListener('click', function () {
      alert("Yay window obj was clicked! Non-IE");
  });

  document.addEventListener('click', function () {
      alert("Yay document obj was clicked! Non-IE");
  });  
}

Итакрешение состоит в том, чтобы связать с document вместо window.

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