【发布时间】:2012-03-02 21:43:49
【问题描述】:
我有一个 video 元素和一个通过 jQuery 将 onplay 处理程序附加到视频的脚本:
<video id="vid" />
<!-- ... -->
<script type="text/javascript">
$('#vid').on('play', function () {
$(this).addClass('playing');
});
</script>
根据this answer,,用户可能能够在脚本加载之前与视频播放器进行交互。但我需要确保在触发 onplay 事件之前附加我的事件处理程序。
为了测试这一点,我在 video 之后添加了一个调用 play() 的脚本。该处理程序在所有主流浏览器上运行,除了 WebKit,它根本不播放视频。即使将 jQuery 语句包装在 $().ready() 函数中,仍然可以在 onplay 之前附加处理程序。
是否保证我的脚本不会错过 HTML5 视频中的任何事件?这同样适用于所有 DOM 事件吗?如果我在脚本中添加async 会怎样?
【问题讨论】:
标签: javascript html html5-video jquery-events