1

私はこのような機能を持っています:

$('img#foo').load(function(){
    // do something
    $(this).attr('src',newsrcurl) ;
}) ;

SRCを変更すると、ロード関数が再呼び出しされるため、無限ループになります。

ロードバインディングを停止する方法は?

4

2 に答える 2

1

設定する前に、URLが実際に変更されたかどうかを確認してください。

if ($(this).attr('src') !== newsrcurl) {
   $(this).attr('src', newsrcurl) ;
}
于 2013-01-13T11:14:45.417 に答える
1

'load'ハンドラーをにアタッチする.one()と、1回だけ起動するようになります。

$('img#foo').one('load', function(){
    // do something
    $(this).attr('src',newsrcurl) ;
}) ;
于 2013-01-13T12:19:08.773 に答える