.click()/。触发器('点击')无法在Spotify

时间:2017-07-28 05:07:47

标签: javascript jquery greasemonkey spotify tampermonkey

我试图编写一个脚本,在特定事件发生后跳到Spotify上的下一首歌曲,我无法让它发挥作用。

我知道这里有很多已经问过这样的问题,但是我尝试了所有的答案,但是他们不适合我。

当我尝试使用Chrome控制台时,这些工作正常,但不在脚本中:

document.getElementsByClassName('spoticon-skip-forward-16')[0].click(); /*or*/
document.getElementsByClassName('spoticon-skip-forward-16')[0].trigger('click');
jQuery('spoticon-skip-forward-16:first').click(); /*or*/
jQuery('spoticon-skip-forward-16:first').trigger('click');
   jQuery('spoticon-skip-forward-16:first').each(function () {
        jQuery(this).css("color", "yellow");
        var clickEvent  = document.createEvent("MouseEvents");
        clickEvent.initEvent ("click", true, true);
        this.dispatchEvent (clickEvent);
    });

jQuery(' spoticon-skip-forward-16:first')可以代替 jQuery(' spoticon-skip-forward-16&# 39;)。get(0) jQuery(' spoticon-skip-forward-16')[0] ,它们都在控制台中工作但在Tampermonkey中没有

我知道事件发生是因为我已经设置在点击之前更改按钮颜色,并且每次都会发生。

我没有错误,我尝试尝试捕捉但没有任何反应。

1 个答案:

答案 0 :(得分:2)

您忘记添加每当您在jQuery中按类引用元素时,您需要在类名前面添加

<强>错误

jQuery('spoticon-skip-forward-16:first').click(); /*or*/
jQuery('spoticon-skip-forward-16:first').trigger('click');

更改为

jQuery('.spoticon-skip-forward-16:first').click(); /*or*/
jQuery('.spoticon-skip-forward-16:first').trigger('click');

Example jsFiddle

&#13;
&#13;
$('.spoticon-skip-forward-16').click(function(){
	console.log($(this).attr('id'));
});

$('.spoticon-skip-forward-16:first').click(); 
$('.spoticon-skip-forward-16:last').click(); 

$('.spoticon-skip-forward-16').each(function () {
  $(this).css({
    color: 'yellow',
    background: '#000'
  });
  var clickEvent  = document.createEvent("MouseEvents");
  clickEvent.initEvent ("click", true, true);
  this.dispatchEvent (clickEvent);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button type="submit" class="spoticon-skip-forward-16" id="btn1">
Submit
</button>

<button type="submit" class="spoticon-skip-forward-16" id="btn2">
Submit
</button>

<button type="submit" class="spoticon-skip-forward-16" id="btn3">
Submit
</button>
&#13;
&#13;
&#13;