使用html5视频委派事件处理

时间:2015-09-01 15:27:14

标签: javascript html5 video

我有一个html5视频,我正在尝试使用jQuery(1.11.1)将事件挂钩(例如播放,暂停)。但是,我似乎无法让它发挥作用。

在我的视频页面上,我首先将以下内容放入js控制台:

$('body').on('pause','video#videoTag',
  function(e) {
    console.group('(on) Video: pause');
    console.log('e: ',e);
    console.log('this: ',this);
    console.groupEnd();  
  });

在js控制台中,它返回一个这样的对象:

Object[body#videoOverlay.modal-frame]

这是不对的,暂停时不会触发。

然后我将它放入js控制台:

$('body').delegate('video#videoTag','pause',
  function(e) {
    console.group('(delegate) Video: pause');
    console.log('e: ',e);
    console.log('this: ',this);
    console.groupEnd();  
  });

返回与之前相同的内容,同样没有触发暂停事件。

但是,如果我将它放入js控制台,它可以工作:

$('video#videoTag').on('pause',
  function(e) {
    console.group('(direct) Video: pause');
    console.log('e: ',e);
    console.log('this: ',this);
    console.groupEnd();  
  });

返回

Object[video#videoTag]

并且暂停事件触发,我看到我的控制台日志。

所以我的问题是..前两个为什么不工作?委派的事件处理程序是否不适用于html视频元素?

更新:我还尝试过其他视频事件:播放,更新,结束,停止,它也不适用于其中任何一个,除非我像上一个例子一样直接执行。

0 个答案:

没有答案