JW Player / ColorBox回调未触发

时间:2012-02-08 22:20:33

标签: jquery colorbox jwplayer

将JW Player与ColorBox和jQuery一起使用并不会显示回调正确触发。这是一个片段:

    $(".thumbnail").live('click', function(event) {

        event.preventDefault();

        var videoFile = $(this).attr('id');

        jwplayer('viewPort').setup({
                    'flashplayer': '../jwplayer/player.swf',
                           'file': 'data/' + videoFile,
                             'id': 'playerID',
                          'width': '100%',
                         'height': '100%',
                     'controlbar':'bottom',
            'controlbar.idlehide':'false',
                           'skin':'../jwplayer/skins/big.zip',
                        'plugins': {
                                    'gapro-2': { },
                                   },
                     'onComplete': function () {
                                      $("#colorBox").colorbox.close();
                                   }
        });

        $("#colorBox").colorbox({
               'width':"80%",
              'height':"80%",
          'transition':"fade",
           'scrolling':false,
              'inline':true,
                'href':"#viewPort",
                'open':true,
          'onComplete': function () {
                            jwplayer('viewPort').play();
                        },
            'onClosed': function () {
                            jwplayer('viewPort').remove();
                        }
        });

    });

未点火的是onCompletejwplayer的{​​{1}}。

我可以在控制台(Firebug)中执行命令colorbox 关闭。 $("#colorBox").colorbox.close();

也是如此

这可能是方法名称之间的冲突吗?因为jwplayer('viewPort').play();发射得很好。

1 个答案:

答案 0 :(得分:1)

对于JWPlayer,您应该将事件处理程序放在选项对象的events属性中:

jwplayer(...).setup({
    ...
    events : {
        onComplete : function () {
            console.log('Chicken\'s Done!');
        }
    }
});

以下是文档中描述如何注册事件处理程序的部分的链接:http://www.longtailvideo.com/support/jw-player/jw-player-for-flash-v5/12540/javascript-api-reference#Events

我对Colorbox不太熟悉,所以我不确定如何初始化它的回调,但文档说明你可以绑定到这样的全局onComplete事件:

$(document).bind('cbox_complete', function(){
    setTimeout($.colorbox.next, 1500);
});

来源:http://jacklmoore.com/colorbox/(靠近底部的是“事件挂钩”)