【问题标题】:User click working, Jquery click not working [duplicate]用户点击工作,Jquery点击不工作[重复]
【发布时间】:2018-12-08 21:32:16
【问题描述】:

我正在创建一个脚本,该脚本会自动单击社交媒体网站上的“接受请求”按钮。 要执行它,我使用 Tampermonkey。

$( document ).ready(function() {

    addFriend();

});

function addFriend(){

    $(".acceptRequest").each(function(){

        var button = this;

            setTimeout(function(){
                button.click();
            },1);

    });

}

当它运行时,我得到了

未捕获的引用错误:

但是,当我自己点击按钮时,它显然是有效的。

那么自己点击和让jquery点击有什么区别呢?

编辑: 确切的错误是这样的:

Uncaught ReferenceError: manageRequest is not defined
    at HTMLButtonElement.onclick (requests:2107)
    at Object.trigger (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
    at HTMLButtonElement.eval (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
    at Function.each (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
    at w.fn.init.each (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
    at w.fn.init.trigger (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:5)
    at eval (userscript.html?id=2ad30bde-066c-4303-83a2-eae54846284e:45)

这是我要点击的按钮:

<button type="button" class="acceptRequest" onclick="manageRequest(bunch of userinformation here)"><span>accept</span></button>

【问题讨论】:

  • ReferenceError 到底是什么?
  • 试试$(button).click()
  • .acceptRequest是什么类型的元素?

标签: jquery tampermonkey


【解决方案1】:

不要使用click,而是使用trigger,它执行附加到给定事件类型的匹配元素的处理程序。因此,您的代码将如下所示。

setTimeout(function(){
    $(button).trigger( "click" );
},1);

您可以在here 中了解有关 jQuery 的trigger() 的更多信息。

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    相关资源
    最近更新 更多