我正在寻找一种方法来安装youtube控件按钮的快捷方式。我希望能够点击左右箭头激活播放列表中的“上一个视频”和“下一个视频”。我曾经很容易自己做,但他们做了一些改变,因为那些我不能完全复制我以前工作的东西。
我使用Google Chrome Shortkey插件来管理我的快捷键。我使用正确的密钥仅在“https://www.youtube.com *”
上执行javascript代码问题在于要执行的脚本。我曾经只是做一个document.getElementById,但现在他们使用class而不是id,我无法让它工作。他们的按钮是div,它们是这样的:
<div class="ytp-button ytp-button-prev" role="button" aria-label="Previous" tabindex="6050" style="display: inline-block;">
</div>
<div class="ytp-button ytp-button-next" role="button" aria-label="Next" tabindex="6051" style="display: inline-block;">
我的代码实际来自另一个Stackoverflow Question
但是,如果我将所有这些放在一起制作下面的代码,它就不起作用了。
simulate(document.getElementsByClassName("ytp-button ytp-button-prev"), "click");
答案 0 :(得分:2)
如果您使用的是jQuery,则可以定位该元素,然后触发点击事件,如下所示:
$( ".ytp-button-prev" ).trigger( "click" );
答案 1 :(得分:1)
getElementsByClassName
返回一个数组,因为你可以有多个具有相同类名的元素。您可以通过document.getElementsByClassName("ytp-button ytp-button-prev")[index]
答案 2 :(得分:1)
jQuery不是我们所有项目的最佳解决方案,但对于模拟事件来说,它是不错的选择
(function($){
$('.element').click();
// same for others ex: $('.element').keyup();
})(jQuery);
答案 3 :(得分:0)
杰森有你的答案,但另一种方法是使用 document.querySelector 。如果这些类只有一个按钮,或者你想要第一个按钮,那么:
var button = document.querySelector('.ytp-button.ytp-button-prev');