0

JQuery では、以前は fn.error() を使用して不足している画像を処理することができました。

var photo = $('#photo');
photo.find('.photo-wrapper')
    .error(function() { $(this).attr('src' , '/images/nosuchphoto.png'); })
    .attr( 'src', '/images/photoserver/photo.png' );

しかし、これは JQuery 1.8 で廃止されました。

1.9 がリリースされましたが、不足している画像を処理する最善の方法は何ですか?

4

2 に答える 2

2

on("error")代わりに使用してください。

var photo = $('#photo');
photo.find('.photo-wrapper')
    .on('error', function() { $(this).attr('src' , '/images/nosuchphoto.png'); })
    .attr( 'src', '/images/photoserver/photo.png' );
于 2013-01-22T02:53:50.367 に答える
0

存在する可能性のある画像の場合、最もエレガントなソリューションは次のように $ajax を使用することです。

$.ajax({
    url: 'your_image.jpg',
    type: "POST",
    dataType: "image",
    success: function() {
        /* function if image exists (setting it in div or smthg.)*/
    },
    error: function(){
       /* function if image doesn't exist like hideing div*/
    } 
});

しかし、読み込み後に自分自身を表示する隠し画像を使用するのが好きな人もいます:

<img src="your_image.jpg" onload="loadImage()">

どちらのソリューションも効果的です。問題に最も適したソリューションを使用してください

于 2013-07-30T08:48:49.427 に答える