使用jquery无法加载外部图像

时间:2011-12-13 21:19:58

标签: jquery ajax

我正在尝试使用This here通过jquery中的ajax调用来加载图像。它根本不工作,我不知道我做错了什么,我使用的是萤火虫,没有看到任何要求。任何帮助将不胜感激。

  var img = $('<img  />').attr('src', thumbnailUrl).load(function () {
                    if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
                        alert('broken image!');
                    } else {
                        $("#imageHolder").append(img);
                    }

                });

1 个答案:

答案 0 :(得分:2)

您需要在设置load之前设置src事件处理程序,以便在图像实际加载之前明确设置load事件处理程序:

var img = $('<img  />').load(function () {
    $("#imageHolder").append(img);
}).error(function () {
    alert('broken image!');
}).attr('src', thumbnailUrl);

以下是演示:http://jsfiddle.net/Y2SWB/

注意我还添加了.error(function () {...})调用,而不是在load事件处理程序中处理错误。