Javascript - Отмена события загрузки - PullRequest
2 голосов
/ 15 сентября 2010
    var town_imgs = $('.town_img img');
    var container;
    var imggg
    town_imgs.hover(function(){

        container = $('<div class="town_img_thmb">'
                +'<span class="thmb_container ajax2"></span>'
            +'</div>').appendTo($(this).parents('.town_wrapper').find('.thmb_wrapper'));

        var imggg = new Image(140,100);             
        imggg.onload = function(){
            container.find('.thmb_container').append(this);
        }
        imggg.src = $(this).attr('src').replace(/\/t0\//,'/t1/');               

    },function(){

        container.remove();
        $(imggg).unbind('onload');

    });

Не работает, когда я очень быстро наводю пиктограммы.Он отображает 2-3 изображения подряд в течение 250-500 мс ~

Как я понимаю, это происходит потому, что я использую внешнюю переменную для хранения текущего эскиза.

Это так?

Есть ли решение для правильной отмены события загрузки?

Спасибо;)

1 Ответ

5 голосов
/ 15 сентября 2010

Есть 2 проблемы, из которых вы хотите удалить var, поэтому ваша ссылка верна:

var imggg = new Image(140,100);

Затем отмените привязку, очистив установленную вами функцию onload:

imggg.onload = null;

Вы можете увидеть рабочую демонстрацию здесь .

...