Вопрос

I'm trying to load several scripts at runtime using Jquery, and then fire an event once they are loaded. The code has to handle an arbitrary number of scripts, so I use

$.when.apply

The problem is that the event is not triggered at the right time. Here is my jsfiddle:

http://jsfiddle.net/dams_666/kWP36/93/

for (var i = 0; i < myScripts.length; i++) {
    deferred.push(getScript(myScripts[i]));
}

$.when.apply($, deferred).then(finished());

Thanks in advance for your help

Это было полезно?

Решение

You are invoking the finished function, instead of passing it as an argument. To pass it, use

$.when.apply($, deferred).then(finished);

Instead of

$.when.apply($, deferred).then(finished());
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top