Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Vimeo JS API-Froogaloop-立即/过早完成事件调用?_Javascript_Jquery_Vimeo Api_Vimeo Player - Fatal编程技术网

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来实现它。我已经更新了