1

在将图像加载到 JavaScriptImage对象中时,我会假设,一旦load为图像触发事件i,那么i.complete应该是true. 要么没有发生,要么(我怀疑更有可能)我的 jQuery/JavaScript 代码中有一个错误。

代码(精简了,但我非常有信心相关的内容就在这里)

$img = $('<img />');  // This line added by edit for clarification
var eventData = {
        sheet: this,
        resolution: resolution,
        i: i,
    };

$img.bind('load', eventData, onTileLoad);
$img.attr('src', tile.src);

onTileLoad = function(ev) {
    var sheet = ev.data.sheet;
    var resolution = ev.data.resolution;
    var i = ev.data.i;

    if (!this.complete) {
        console.log('Image load not complete: sheet ' + sheet.sheetName + 
                ', resolution ' + resolution + ' tile ' + i)
    };

    ....
};

此控制台日志会触发我的一些图像,但绝不是大多数图像。我认为它永远不应该触发。对于它的价值,我正在使用 FireFox 3.6.18(因为它非常稳定并且具有良好的开发工具)。

有谁知道可能会发生什么?

4

1 回答 1

0

$img指的是什么?

onTileLoad函数中,this$img. 如果$img是一个 jQuery 对象(看起来像),它没有complete属性。该complete属性仅在 DOM 对象上设置。

看看这个test case

希望这会有所帮助,

干杯

于 2011-07-05T19:56:07.810 回答