Javascript - 取消onload事件

Som*_*ody 2 javascript jquery events onload

    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');

    });
Run Code Online (Sandbox Code Playgroud)

当我快速徘徊缩略图时不工作.它连续显示2-3张图像,大约250-500ms~

据我所知,这是因为我使用外部变量存储当前缩略图.

是吗?

是否有正确取消onload事件的解决方案?

谢谢 ;)

Nic*_*ver 5

有两个问题,你想从中删除var,所以你的引用是正确的:

var imggg = new Image(140,100);
Run Code Online (Sandbox Code Playgroud)

然后通过清除onload您设置的功能解除绑定:

imggg.onload = null;
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到一个有效的演示.