【问题标题】:Javascript : passing a function as an argumentJavascript:将函数作为参数传递
【发布时间】:2013-10-28 19:33:41
【问题描述】:

如果图像无法加载,我想加载默认图像。我也想打电话 加载图像后,getLoadComplete()。如何将 this.getLoadComplete() 函数传递给 img.onerror 调用的函数?

这是我得到的代码:

    img.onload = this.getLoadComplete();

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

     img.src = request.url;

【问题讨论】:

标签: javascript onerror


【解决方案1】:
img.onload = this.getLoadComplete();

您正在立即调用getLoadComplete(),并将其返回值分配给img.onload。你可能想要这个:

img.onload = this.getLoadComplete;

也就是说,将img.onload 设置为函数本身,而不是它的返回值。

你不需要在onerror做任何特别的事情; onload 处理程序仍然设置为getLoadComplete,当您在onerror 处理程序中修改src 时,它将在加载后备图像后调用onload

【讨论】:

    【解决方案2】:

    你只需要调用函数。

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

    【讨论】:

      猜你喜欢
      • 2012-10-28
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 2015-06-09
      • 2018-02-23
      • 2012-05-30
      相关资源
      最近更新 更多