Вопрос

I want to load a default image if an image fails to load. I also want to call getLoadComplete() once the image has loaded. How do I pass the this.getLoadComplete() function into the function called on img.onerror?

Here is the code I've got:

    img.onload = this.getLoadComplete();

    img.onerror = function(){
        img.src = "http://xxxx.com/image.gif";
     }

     img.src = request.url;
Это было полезно?

Решение

img.onload = this.getLoadComplete();

You're invoking getLoadComplete() immediately, and assigning its return value to img.onload. You probably want this:

img.onload = this.getLoadComplete;

That is, set img.onload to the function itself, not its return value.

You don't need to do anything special in onerror; the onload handler will still be set to getLoadComplete, and when you modify the src in your onerror handler, it will invoke onload after the fallback image is loaded.

Другие советы

you just need to call the function.

img.onload = this.getLoadComplete();

img.onerror = function(){
    img.src = "http://www.3d-maps-minus-3d.com/img/unavailable.gif";
this.getLoadComplete();
 }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top