ReCaptcha v2客户端事件

时间:2015-07-28 21:54:31

标签: javascript recaptcha

ReCaptcha v2是否会公开任何客户端事件?我特别想确定一旦勾选方框后何时返回Captcha响应,我就可以显示"继续"按钮如下。

enter image description here

如果没有这个,用户可以点击复选框,然后在验证码响应返回之前快速点击提交按钮。

我可以将自己的click事件处理程序添加到类recaptcha-checkbox-checkmark并轮询tick的可见性,我只是想知道是否有更简单的方法来执行此操作?

$(".recaptcha-checkbox-checkmark").click(function() {
    //...Poll for visibility of tick
});

2 个答案:

答案 0 :(得分:28)

另一个解决方案是直接在data-callback div上设置g-recaptcha,就像这样

<script type="text/javascript">
  var imNotARobot = function() {
    console.info("Button was clicked");
  };
</script>

<div class="g-recaptcha" data-callback="imNotARobot" data-sitekey="key"></div>

答案 1 :(得分:23)

如果使用显式渲染,您可以使用g-recaptcha标记上的data-callback属性或通过'callback'参数配置reCAPTCHA以成功验证回调。

请参阅 https://developers.google.com/recaptcha/docs/display#render_param

使用显式渲染的示例:

var myCallback = function(val) { console.log(val); };
grecaptcha.render(
   document.getElementsById('my-recaptcha-placeholder'), 
   {
     callback: myCallback, 
     sitekey: mySiteKey
   });