我试图在点击时延迟外发链接,以便googles事件跟踪有时间发生。
我编写了以下代码,但我不确定如何将我的变量传递给window.location。它只是将其添加为字符串“url”而不是链接地址。我做错了什么?
$("a.private-product-order-button").click(function(e) {
e.preventDefault();
_gaq.push(['_trackEvent', 'Order buttons', 'Click', 'Service']);
var url = $(this).attr("href");
setTimeout(function() {
$(window.location).attr('href', 'url');
}, 200);
});
答案 0 :(得分:3)
不需要使用jQuery来设置location
对象的属性(并且不需要使用jQuery来获取锚对象的href
属性):
$("a.private-product-order-button").click(function(e) {
e.preventDefault();
_gaq.push(['_trackEvent', 'Order buttons', 'Click', 'Service']);
var url = this.href;
setTimeout(function() {
window.location.href = url;
}, 200);
});
答案 1 :(得分:1)
因为你毕竟是在添加字符串。
应该是:
$(window.location).attr('href', url);
不
$(window.location).attr('href', 'url');
答案 2 :(得分:1)
在网址周围使用不带引号的$(window.location).attr('href', url);
。