将事件跟踪代码从Jquery转换为Mootools

时间:2013-03-14 09:36:12

标签: jquery joomla mootools analytics

我正在使用Joomla网站,所以它正在使用Mootools。

我需要在联系表单提交按钮上使用Analytics事件跟踪;但是,JQuery没有工作,我已经通过使用NoConflict尝试了所有选项,但事实并非如此。

这是我需要在提交按钮上使用的Jquery代码。如何将其转换为Mootools?

onclick="var _this=this;_gaq.push([
  '_set',
  'hitCallback',
  function( { 
    $(_this).parents('form').first().submit();
  }
]);

_gaq.push([
  '_trackEvent', 
  'Contact', 
  'Appointment',
  ,
  , 
  false]
);

return !window._gat;"

希望你能提供帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

MooTools 1.1不支持getParent选择器,因此您也可以直接使用DOM API。我重写了这个功能(你发布的代码中有一个关闭的paren,BTW)

function() { 
    $(_this).parents('form').first().submit();
}

如下:

function() {
    for (var el = _this.parentNode; el; el = el.parentNode) {
        if (el.tagName == 'form') {
            el.submit();
            break;
        }
    }
}

如果您添加点击处理程序的元素是input元素,您只需使用:

function() { _this.form.submit(); }

另请注意,使用onclick属性通常是不好的做法。您应该考虑使用MooTools'Element.addEvent添加事件处理程序。