2013-10-28 200 views
0

我想加載默認圖像,如果圖像加載失敗。一旦圖像加載完成,我也想調用 getLoadComplete()。如何將this.getLoadComplete()函數傳遞給img.onerror上調用的函數?Javascript:傳遞函數作爲參數

這裏是我已經得到了代碼:你會立即調用getLoadComplete(),其返回值img.onload分配

img.onload = this.getLoadComplete(); 

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

    img.src = request.url; 
+1

[作爲參數的javascript通函數(http://stackoverflow.com/questions/13286233/javascript-pass-function-as-parameter) – Evan

+0

不'的可能重複getLoadComplete'返回一個函數或者是它您想要調用的實際功能? –

回答

3
img.onload = this.getLoadComplete(); 

。你可能希望這樣的:

img.onload = this.getLoadComplete; 

也就是說,設置img.onload函數本身,而不是它的返回值。

你不需要做任何特別的事情onerror; onload處理程序將仍然設置爲getLoadComplete,並且當您修改您的onerror處理程序中的src時,它將調用onload在回退圖像加載後。

0

你只需要調用該函數。

img.onload = this.getLoadComplete(); 

img.onerror = function(){ 
    img.src = "http://www.3d-maps-minus-3d.com/img/unavailable.gif"; 
this.getLoadComplete(); 
}