如何使用javascript模拟div上的点击

时间:2015-01-04 22:59:06

标签: javascript youtube keyboard-shortcuts

我正在寻找一种方法来安装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");

4 个答案:

答案 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);

示例:http://jsfiddle.net/h0po3q3w/

答案 3 :(得分:0)

杰森有你的答案,但另一种方法是使用 document.querySelector 。如果这些类只有一个按钮,或者你想要第一个按钮,那么:

var button = document.querySelector('.ytp-button.ytp-button-prev');
相关问题