我有一个调用window.location.href事件的输入按钮,并且还希望将google analytics事件跟踪添加到同一个按钮...
我如何将这两个事件合并为一个声明?
<input type="button" value="Learn More!" onclick="window.location.href='site1'" />
和这个事件:
onclick="_gaq.push(['_trackPageview', '/externalsite/site1']);"
答案 0 :(得分:6)
你可以使用jQuery。
但快速解决方法是将它们组合起来:
<input type="button" value="Learn More!" onclick="_gaq.push(['_trackPageview', '/externalsite/site1']); window.location.href='site1'" />
语句用分号分隔。
答案 1 :(得分:3)
连接两者,并将它们一起添加:
<input type="button" value="Learn More!"
onclick="_gaq.push(['_trackPageview', '/externalsite/site1']);
window.location.href='site1';" />
<!-- Within HTML tags, newlines don't matter. For readability, I have split the
attributes over three lines-->
请注意,订单很重要。如果您首先使用window.location.href
分配,则可以忽略第二部分,因为页面会卸载。
答案 2 :(得分:3)
<script>
function handleClick(){
_gaq.push(['_trackPageview', '/externalsite/site1']);
window.location.href='site1'
}
</script>
<input type="button" value="Learn More!" onclick="handleClick()" />
答案 3 :(得分:2)
<input type="button" value="Learn More!" onclick="_gaq.push(['_trackPageview', '/externalsite/site1']); window.location.href='site1'" />
答案 4 :(得分:1)
您应该尝试将JavaScript移出元素,如下所示:
<强> HTML 强>
<input type="button" value="Learn More!" id="myBtn" />
<强>的JavaScript 强>
(function(d, w) {
var btn = d.getElementById('myBtn');
btn.onclick = function() {
_gaq.push(['_trackPageview', '/externalsite/site1']);
w.location.href = 'site1';
};
}(document, window));
尽可能使用Unobtrusive JavaScript总是更好的主意。你可以在这里阅读更多内容:
答案 5 :(得分:0)
您可以使用分号组合语句:
<input type="button" value="Learn More!" onclick="window.location.href='site1'" />
在您的情况下,请确保将重定向调用为最后一个操作,可能是您在离开页面时终止执行。