1

ここでjQuery/Javascriptが壊れた画像を置き換える前に言及されたこの問題を見つけました

これが最良の答えでした..私はそれを試してみましたが、うまくいきました

function ImgError(source){
   source.src = "/images/noimage.gif";
   source.onerror = "";
   return true;
}

<img src="someimage.png" onerror="ImgError(this);"/>

しかし、前の関数で他のイベントを実行しようとしたとき

function ImgError(source){
   source.hide(); // hide instead of replacing the image
   source.onerror = "";
   return true;
}

このエラーが発生しました

TypeError: 'undefined' is not a function (evaluating 'source.hide()')

その機能を試したすべてのjQueryイベント/メソッドで、TypeErrorが発生しました。

どうしたの?

4

3 に答える 3

1

.hide()jQuery要素だからです。

それを試してください:

function ImgError(source) {
   $(source).hide();
   source.onerror = "";
   return true;
}
于 2012-07-25T22:02:26.800 に答える
0

hide()jQueryメソッドですよね?

試す$(source).hide()

:)

編集:次のように、すべての画像にグローバルエラーハンドラーを追加してみてください:

$('img').error(function() { $(this).hide(); });

参照: http://api.jquery.com/error/

于 2012-07-25T22:04:29.853 に答える
0

次のことを試しましたか:

source.style.visibility='hidden';
于 2012-07-25T22:05:07.427 に答える