这是我的代码:
HTML部分:
<div class="subscribe">
<a href="#' title="library_membership">Subscribe for a Month</a>
<a href="#' title="library_membership">Subscribe for a Year</a>
</div>
Javascript:
$js('div.subscribe a').live('click', function(e) {
var This = $(this);
e.preventDefault();
if(This.html().indexOf("Month") != -1)
_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", This.attr( "title" )]);
else
_gaq.push(["_trackEvent", "Subscriptions", "Clicked Year", This.attr( "title" )]);
});
我尝试了ga_debug.js来确认我的活动是否被推送到谷歌分析,他们确实出现在Chrome控制台上。
然而,即使在24小时之后,我点击“订阅一年”也没有出现在谷歌分析上。我点击“订阅一个月”已经出现了。任何人都可以帮助我为什么我没有得到谷歌分析的准确数据。
答案 0 :(得分:2)
清理你的javascript / jquery,它应该有效:
$('div.subscribe a').live('click', function(e) {
e.preventDefault();
if ($(this).html().indexOf("Month") != -1) {
alert("month");
} else {
alert("year");
}
});
当然,请将alerts
替换为您的GA代码。
而且,自live
is deprecated以来,您可以使用on
。
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。旧版jQuery的用户应该使用.delegate()而不是.live()。
取决于您使用的jquery版本:
$('div.subscribe a').on('click', function(e) {
e.preventDefault();
if ($(this).html().indexOf("Month") != -1) {
alert("month");
} else {
alert("year");
}
});
您可能还想更改此内容:
_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", This.attr( "title" )]);
对此:
_gaq.push(["_trackEvent", "Subscriptions", "Clicked Month", $(this).attr( "title" )]);
This
无效。应该是$(this)
。