gpt4 book ai didi

jQuery click() 在 Greasemonkey/Tampermonkey 脚本中不起作用

转载 作者:行者123 更新时间:2023-12-01 02:23:01 25 4
gpt4 key购买 nike

我在通过 Greasemonkey/Tampermonkey 触发 jQuery 点击时遇到问题...

jQuery('button').each(function() {
jQuery(this).css('background', 'red');
jQuery(this).click();
location.assign("javascript:jQuery(this).click();void(0)");
}​

正如你所看到的,我什至尝试过 location.assign hack但没有任何效果,控制台中也没有错误。

有趣的是,是的,背景颜色确实变成了红色,所以我假设它的工作方式 .click() 与其他 jQuery 方法不同。

最佳答案

jQuery 的 .click() 只是 jQuery 的 .trigger() 的快捷方式,来自 Docs :

Any event handlers attached with .bind() or one of its shortcut methods are triggered when the corresponding event occurs. They can be fired manually, however, with the .trigger() method.

这意味着不是由 jQuery 设置的事件处理程序不能总是由 .click() (或 .trigger())触发。

要解决此问题,请发送实际的鼠标事件:

jQuery ('button').each ( function () {
jQuery (this).css ('background', 'red');

var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
this.dispatchEvent (clickEvent);
}



<小时/>

请注意,在极少数情况下,页面实际上会处理事件组合,而不是点击,并且理论上,页面可以区分任何 人工产生的事件(尽管我还没有在野外看到过)。
如果是这种情况,请链接到目标页面,以便我们可以制定解决方法。

关于jQuery click() 在 Greasemonkey/Tampermonkey 脚本中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10423426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com