我使用Google Analytics跟踪自定义事件,但如何防止jQuery事件处理程序拦截GA事件?
内联符号工作正常:
<body onclick="_gaq.push(['_trackEvent', 'Demo', 'Click'])">
当我将这段代码移动到单独的JavaScript文件并使用jQuery时 - 它失败了:
$('body').on('click', function() {
_gaq.push(['_trackEvent', 'Demo', 'Click']); // Does not do anything
console.log(_gaq); // This normally prints out content of GA
//return true;
});
思想?
更新:如果我尝试从单独的JavaScript代码处理事件但没有jQuery,Tracker也可以正常工作。
window.onload = function() {
document.body.onclick = function() {
_gaq.push(['_trackEvent', 'Demo', 'Click']); // This event is getting fired
console.log(_gaq);
//return true;
}
}
jQuery有什么问题?
答案 0 :(得分:0)
同时又有趣又怪异。我似乎偶然在document.ready
事件上覆盖了GA。
是(错误的):
$(document).ready(function() {
var _gaq = _gaq || [];
// ... Some event handling
现在(正确):
var _gaq = _gaq || [];
$(document).ready(function() {
// ... some event handling
我不知道如何解释这一点,但这解决了我的问题...已关闭。