视频JS和SWF点击事件

时间:2013-12-17 16:50:30

标签: javascript-events flash video.js

我正在使用“video.js”并写了一些javascript来让其他视频播放停止,如果点击并播放另一个视频。这适用于IE9 +,Chrome,Safari和其他使用HTML5标记的现代浏览器。

我的问题在于IE8和SWF / Flash后备。单击时,click事件似乎没有被触发。

 $('div.video-js').on('click', function() {
    var $this     = $(this),
        player    = videojs($this[0]);
        thisVideo = $this.children('object'); //get <object> for IE8 vs <video>

    /* 
      If videoj.js API is ready then...
      call the stop videos, and exception is the one that is clicked
    */
    player.ready(function() {
      if(player.paused() === false) { 
        //stopVideos(thisVideo[0]); 
      }
    });

  });

SWF似乎吸收了包含div.video-js元素的点击事件。虽然,当点击div时,视频仍会停止并播放,但我不确定为什么点击事件没有触发......

控件和重播按钮仍然有效,并触发上面的点击事件......

1 个答案:

答案 0 :(得分:1)

您可以使用play事件来阻止其他玩家。由于您使用的是jQuery,因此可以使用not()来选择除触发事件的玩家之外的所有玩家。

$(".video-js").each(function() {
  var id = this.id;
  videojs(id).ready(function() {
    this.on('play', function() {
      $(".video-js").not("#" + id).each(function() {
        videojs(this.id).pause(true);
      });
    });
  });
}); 

示例:http://jsbin.com/OcuXOCe/2/edit?html,output