取消绑定并绑定点击事件

时间:2016-03-17 06:35:46

标签: javascript jquery

我有一个图像库,它有前一个和下一个按钮。因此,为了使图像更改,我编写了一个函数,该函数不断点击下一个按钮来更改图像。

function infiniteLoop(time){
    function f(){
        $('.image-nav-next').click() // click the next button
        timer = setTimeout(f, time)
    }
    f();
}

这对我来说很好。但现在我想在图像悬停上暂停点击事件。这意味着,当用户在图库中的图像上悬停时,只要鼠标位于该图像上,它就应该显示相同的图像。当用户从图像中移除光标时,库将再次开始工作并像以前一样更改图像。我尝试了以下内容 -

$('.myimg').mouseover(function(){         
    $('.image-nav-next').unbind('click');
});

然后

$('.myimg').mouseout(function(){          
    $('.image-nav-next').bind('click');
});

Unbind工作正常,但重新绑定不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你走错了路。

相反,您需要做的是清除鼠标上的计时器clearTimeout(timer),鼠标离开后,您可以再次通过调用infiniteLoop来计划循环