Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Почему событие на onload не выполняется два раза? (https://javascript.ru/forum/events/18696-pochemu-sobytie-na-onload-ne-vypolnyaetsya-dva-raza.html)

Kotakota 12.07.2011 08:49

Почему событие на onload не выполняется два раза?
 
Привет.
Есть динамический загрузчик JS файлов.
После окончания загрузки всех файлов, должна вызываться callback()

source = ['test1.js', 'test2.js']
for( i = 0; i < source.length; i++ ) {
			var script = document.createElement('script');
			script.type = 'text/javascript';
			script.async = true;
			script.src = source.file[i];
			script.onload = callback();
            script.onreadystatechange = function () {
				if (this.readyState == 'complete' || this.readyState == 'loaded') {
            callback();
            }
				};
}

	function callback() {
alert('Boom!');
                }


Интересно почему при загрузке документа
alert('Boom')
вызывается только один раз?
Ведь callback() подвешен на два скрипта!

melky 12.07.2011 10:33

script.onload = function(){ callback(); }


Часовой пояс GMT +3, время: 02:20.