Добавить "body" еще один обработчик "onload"

You can't request more than 20 challenges without solving them. Your previous challenges were flushed.


Задача: добавить документу обратотчик события load, при этом не перезаписав возможный предыдущий и не указывая атрибут onload="".

Решение: сохранить старый обработчик следующим образом:

var oldHandler = window['onload'];

А затем добавить старый (если есть) и новый вместе:

window['onload'] = function() {
   if(typeof(oldHandler) == 'function') {
      oldHandler(); // Старый обработчик
   }
   newHandler(); // Новый обработчик
};

Вот и все. Давным-давно я потратил непростительно много времени, пока не нашел это простое и, естесственно, кроссбраузерное решение. Надеюсь, кому-то будет полезно.

Комментарии

Thanks!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешаю теги: <a> <em> <strong> <pre> <ul> <ol> <li>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.

Подробнее о форматировании

Image CAPTCHA
Регистр символов учитывается.