Javascript Vimeo JS API-Froogaloop-立即/过早完成事件调用?
根据,事件Javascript Vimeo JS API-Froogaloop-立即/过早完成事件调用?,javascript,jquery,vimeo-api,vimeo-player,Javascript,Jquery,Vimeo Api,Vimeo Player,根据,事件finish-在视频播放结束时触发。 由于某种原因,我无法使其工作,finish事件总是立即调用,我是否做错了什么 我试图使一个嵌入式视频在播放完毕后消失。我已经完成了,但无法正确调用finish事件 我已经非常直截了当地说明了这个问题 这种行为似乎发生在Safari、Chrome和Firefox(mac)上 -- JSBIN中的JS代码: $(document).ready(function() { $('iframe.vimeo').each(function(){ F
finish-在视频播放结束时触发。
由于某种原因,我无法使其工作,finish
事件总是立即调用,我是否做错了什么
我试图使一个嵌入式视频在播放完毕后消失。我已经完成了,但无法正确调用finish
事件
我已经非常直截了当地说明了这个问题
这种行为似乎发生在Safari、Chrome和Firefox(mac)上
--
JSBIN中的JS代码:
$(document).ready(function() {
$('iframe.vimeo').each(function(){
Froogaloop(this).addEvent('ready', ready);
});
function ready(playerID){
Froogaloop(playerID).addEvent('play', play(playerID));
Froogaloop(playerID).addEvent('seek', seek);
Froogaloop(playerID).addEvent('finish', onFinish(playerID));
Froogaloop(playerID).api('play');
}
function play(playerID){
alert(playerID + " is playing!!!");
}
function seek() {
alert('Seeking');
}
function onFinish(playerID) {
alert(playerID + " finished!!!");
$('#'+playerID).remove();
}
});
您正在执行函数,而不是将函数引用传递给
addEvent
方法
Froogaloop(playerID).addEvent('play', play);
Froogaloop(playerID).addEvent('seek', seek);
Froogaloop(playerID).addEvent('finish', onFinish);
请注意,
Froogaloop
将playerID
作为参数传递给play
回调函数,我不确定它是否将playerID
作为参数传递给finish
回调函数(尽管我猜可能是这样)。啊,你是对的。通过将Drew Baker示例与Vimeo文档相结合,我最终能够通过在addEvent
中不包含playerID来实现它。我已经更新了