imgのsrcを変更するたびにloadハンドラが呼ばれる回数が増えていくことに気づきました。
コードは以下のような感じです。
javascript - jQuery event firing twice after .load() - Stack Overflow によると、var src = $('#viewer').attr('src', url);src.load(function() {// do some stuff});
逐一loadハンドラをunbindする必要があるようです。
修正後のコードは以下の通り。
これで複数回実行されることは無くなりました。var src = $('#viewer').attr('src', url);src.unbind('load'); // loadが複数呼ばれないようにするのに必要src.load(function() {// do some stuff});
ていうか、初期化処理時に1度だけload()を実装し、
画像変更時にはsrcの変更のみ行うっていう方法で良いのかもしれません。