关于未来媒体元素的功能的jQuery

时间:2015-01-31 19:29:09

标签: javascript jquery html5-video

我经常使用jQuery的on函数来处理未来的事件。例如:

$(document).on('click', '.my-div', myHandler);

但是,我无法使用play标记上的playingvideo事件:

$(document).on('playing', 'video', function() {
  console.log('video playing');
});

以下工作正常,但不会绑定到未来的元素:

$('video').on('playing', function() {
  console.log('video playing');
});

jQuery的on函数的未来绑定语法是否仅适用于某些事件,或者它是否缺少HTMLMediaElement对象事件的suppoert?我使用的是jQuery 1.11.2。

1 个答案:

答案 0 :(得分:3)

它缺乏对不起泡的事件的支持,媒体事件不会起泡,因为它们对除媒体元素和媒体元素之外的任何其他元素都没有意义,例如{{1 }}和<audio>无法嵌套,因此无需让事件冒出来。

它的工作方式是事件冒泡,在点击事件上,它在您单击的元素上启动,这是<video>并一直持续到文档级别。

例如,点击锚点内的图像,也会触发锚点。

事件委托的工作方式是,它将事件处理程序附加到事件链上方的元素,然后检查event.target

快速jQuery示例

event.target