当IMG.SRC改变时,jQuery Load()导致无限循环

时间:2013-01-13 10:44:34

标签: javascript jquery image load

我有这样的功能:

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

SRC更改导致重新调用加载函数,因此无限循环!

如何停止加载绑定?

2 个答案:

答案 0 :(得分:1)

在设置之前,只需检查URL是否实际更改:

if ($(this).attr('src') !== newsrcurl) {
   $(this).attr('src', newsrcurl) ;
}

答案 1 :(得分:1)

使用.one()附加'load'处理程序将确保它只触发一次。

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