使用jquery类更改侦听器跟踪表单验证消息

使用jquery类更改侦听器跟踪表单验证消息,jquery,google-analytics,addeventlistener,Jquery,Google Analytics,Addeventlistener,我有一个表单,可以在ok提交时生成验证消息。 js脚本添加一个类“wpcf7 mail sent ok”,以显示正确的消息和呈现 <div class="wpcf7-response-output wpcf7-display-none wpcf7-mail-sent-ok" style="display: block;">Votre message a bien été envoyé. Merci.</div> 您说您已经有了对该div执行操作的js,并添加了类。为什

我有一个表单,可以在ok提交时生成验证消息。 js脚本添加一个类“wpcf7 mail sent ok”,以显示正确的消息和呈现

 <div class="wpcf7-response-output wpcf7-display-none wpcf7-mail-sent-ok" style="display: block;">Votre message a bien été envoyé. Merci.</div>

您说您已经有了对该
div
执行操作的js,并添加了类。为什么不能在js代码中进行GA调用呢?那是最好的地方

因为替代方法基本上是继续寻找属性中的更改。如果div已经存在,那么有一种方法会有所帮助

如果div本身不存在,那么您基本上需要编写一些代码来查找它,并将其包装在
窗口中。setInterval
窗口中。setTimeout
继续查找它,直到找到它为止。它看起来像这样(未经测试):


但是
.watch()
trackSubmit()
解决方案都会影响页面的性能,因此我建议您尝试将GA调用移动到已经执行的js

因为(据我所知)没有风格改变事件,所以从表单提交开始收听会更容易。或者像这篇(较旧的)帖子中那样自己编写样式事件:(因为您似乎需要查找内联显示属性而不是类名)@EikePierstorff在分析中通常避免侦听表单提交,因为真正的目标是跟踪成功的表单提交(用户通过了所有验证检查).Whatever-验证响应状态或ajax状态,任何已经存在的东西。@Eikepierstorf好吧,这不仅仅是“Whatever”。单击提交按钮失败与通过验证之间有很大区别。其中只有一个意味着转换或出售——我相信你可以自己选择哪一个。
     $('.wpcf7-response-output).(????APPEARENCE OF CLASS .wpcf7-mail-sent-ok'???)(function() {
  _gaq.push(['_trackEvent', 'formulaire', 'devis_voyage', 'wpcf7-mail-sent-ok']);
    });
function trackSubmit () {
  if ( $('.wpcf7-response-output').length>0 ) {
    _gaq.push(['_trackEvent', 'formulaire', 'devis_voyage', 'wpcf7-mail-sent-ok']);    
  } else {
    window.setTimeout('trackSubmit',100);
  }
}
// make the initial call to get the ball rolling. This should happen on page load, sometime after jQuery is loaded
trackSubmit();