JavaScriptのImage
オブジェクトにイメージをロードするとき、私はload
イベントが画像i
のためにトリガされると、その後、i.complete
はtrue
あるべき、ということを前提となります。それは起こっていないか、私のjQuery/JavaScriptコードにバグがあります(おそらく私には疑わしい)。画像の読み込み:JavaScriptのオンロードとイメージ::完全な(Firefox 3の)
コード(道ストリップダウンが、私はどのような関連性があることはここにあることをかなり確信しています)
$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で作業しています(非常に安定しており、優れた開発ツールがあるためです)。
何が起こっているのでしょうか?
を、助けます;'。それに応じて編集されました。 –
しかし、 'onTileLoad'では、' this'は '$ img'ではなく、JavaScriptの' Image'オブジェクトになります。これはイベントハンドラで 'this'が動作する方法です。 jQueryオブジェクトが必要だった場合、私は '$(this)'ユーザを持っていなければなりません。したがって、「完全」は正しいオブジェクトに設定する必要があります。実際には、ほとんどの場合、上記のように、「このコンソールログは、私のイメージの一部ではありませんが、決してほとんどではありません。 –
はい..あなたは正しいです、私が言ったことを忘れてください^^私はまだ問題がどこにあるかを調べています=) – pomeh