【发布时间】:2018-07-26 03:20:48
【问题描述】:
你好,堆栈溢出者。我正在使用 JQuery 来模拟单击与 reCaptcha 链接的不可见按钮。 reCaptcha 需要附加多个按钮,并且每个页面中只能有一个 reCaptcha。因此,我创建了一个回调函数来检测按下了哪个按钮。我是这样做的:
HTML:
<div class="invisible">
<button class="g-recaptcha"
data-sitekey="..."
data-callback="captcha_callback"
data-badge="inline"
data-type="image"
id="btn_captcha"></button>
</div>
点击事件+点击模拟:
$("#review_send").on("click", function() {
alert("HI");
$("#btn_captcha").data("button-pressed", "review");
$("#btn_captcha").click();
$("#btn_captcha").blur();
});
reCaptcha 回调:
var captcha_callback = function(response) {
if($("#btn_captcha").data("button-pressed") === "mail") {
alert($("#btn_captcha").data("button-pressed"));
send_contact_mail(response);
} else if($("#btn_captcha").data("button-pressed") === "review") {
alert($("#btn_captcha").data("button-pressed"));
send_review(response);
}
};
会发生什么;当我第一次点击#review_send 时,一切正常:它首先提示“HI”,然后是“review”。但是当我第二次点击#review_send 时,我只会收到带有“HI”的提示。
我发现等待一段时间后点击再次起作用。
这是否与 JQuery/Javascript 相关,是否与 reCaptcha 或 reCaptcha 有超时有关?
提前致谢!
【问题讨论】:
标签: javascript jquery recaptcha captcha