javascript - 我可以用 setTimeout 重置一个未绑定(bind)的函数吗?

标签 javascript jquery binding bind unbind

天哪,我经常来这里...无论如何,这是问题所在。我有一个未绑定(bind)的功能,我需要它在一定时间后返回(最好是当视频停止播放时,但现在我只需要一定的秒数)。

我找到了一个人和我的问题类似here (on the jquery forums) ,虽然我尝试应用该解决方案(第一个响应),但它没有用。

这是我尝试做的

$('li', '.thumbs').bind('touchend click', playVideo);


$('li', '.thumbs').bind('touchend click', function() {
        //some code
        playVideo( $(this).index() );
        $("li", ".thumbs").unbind('click');
        setTimeout(function(){
            $('li', '.thumbs').bind('touchend click');
            },5000);
        });

那么,为什么?

**编辑好吧,我得到了超时返回的绑定(bind),但由于某种原因它没有完成函数 playVideo。它会停止正在播放的视频,但不会开始播放新视频...

最佳答案

$('li', '.thumbs').bind('touchend click', onPlayClick);

function onPlayClick(){
    //some code
    playVideo( $(this).index() );
    $("li", ".thumbs").unbind('click', onPlayClick);
    setTimeout(function(){
        $('li', '.thumbs').bind('click', onPlayClick);
    },5000);
}

此外,如果您使用的是 jQuery 1.7+,则首选 on()/off()。 示例:

$('li', '.thumbs').on('click', onPlayClick);
$('li', '.thumbs').off('click', onPlayClick);

关于javascript - 我可以用 setTimeout 重置一个未绑定(bind)的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731297/

相关文章:

JavaScript "animation"没有像我预期的那样工作

c# - 为什么 INotifyPropertyChanged 不起作用?

c# - 将元素指定为控件模板中的动画目标

javascript - 为什么这段 Javascript 会出现解析错误?

Javascript:数组长度不计算

javascript - 使用 Typescript 将 Thunk 发送到商店

jquery - #sidebar位置:fixed at certain scrolling

jquery - 如何在 HTML5 和 CSS3 中创建类似 Circles 的菜单?

javascript - 我可以在调试时只输入 "step over"jQuery 代码吗?

dynamic - 后期绑定(bind)与动态绑定(bind)