天哪,我经常来这里...无论如何,这是问题所在。我有一个未绑定(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/