пятница, 30 марта 2012 г.

вызываем window.onload несколько раз

Известно, что определить событие window.onload на странице мы можем только один раз. Каждое следующее определение window.onload затирает предыдущее. Что же делать, если возникла необходимость прописать его повторно?

Все очень просто. Нужно сохранить старое событие, и переопределить window.onload так, чтобы сначала вызывалось старое событие, а потом уже наши дополнительные методы.

Например,
var saveOnLoad = window.onload;
window.onload = function(){
saveOnLoad();
newOnLoadFunction1();
newOnLoadFunction2();
...
}

4 комментария:

  1. А почему бы по onload не триггерить кастомное событие, и уже на него подписываться всем остальным?

    ОтветитьУдалить
    Ответы
    1. Я просто тогда не умела этого делать, и некому было подсказать. Я самоучка, и старшего более опытного товарища по Javascript у меня нет.

      Удалить
    2. Привет. Не совсем понимаю, как это "триггерить кастомное событие" и как на него подписываться всем остальным. Можешь пример написать, что бы я логику понял или ссылку почитать скинь, пожалуйста.

      Удалить
  2. А что будет если до этого кода не было прописано обработчика события onload? Подозреваю полетит исключение.

    ОтветитьУдалить