【发布时间】:2015-08-21 20:58:11
【问题描述】:
我正在寻找一种解决方案,了解如何在使用 Youtube iframe API 在我的应用程序上运行 Youtube 视频时处理关键事件。不幸的是找不到任何东西。确实浏览了此文档https://developers.google.com/youtube/iframe_api_reference#Events,但似乎播放器没有触发任何与键相关的事件(例如:onkeydown、keypress、keyup)。
我尝试将事件直接添加到提供的代码中,但没有成功。
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// 3. This function creates an <iframe> (and YouTube player)
// after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('trailer_video', {
height: '390',
width: '640',
videoId: 'M7lc1UVf-VE',
events: {
// 'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange,
'onkeydown': myfunction // custom event
}
});
}
有什么方法可以在按下箭头键时专门处理按键事件?
PS:我不知道我在这里可能错了,但通常当我在视频缓冲时按箭头键时,我看到点链移动,这给了我一个提示,即播放器确实检测到这些事件并做出响应。
更新问题
正如下面的答案所暗示的,这在某种程度上是一种解决方案,但由于 Youtube 也处理左右箭头键事件,因此当光标在视频上时也可以使用它,我担心的是,我该如何处理这些事件Youtube 不处理的向上和向下箭头键,如果我实现自定义事件处理程序,则仅当光标不在视频上时才有效。
【问题讨论】:
-
谁能指点我一些文档。 Youtube 表示他们的开发人员会在这里回答与此标签相关的所有问题,但似乎并不正确。
标签: javascript youtube-api youtube-iframe-api