2014-07-31 4 views
0

Я использую Google Analytics (Universal) и я пытаюсь добавить действие OnClick к ссылке, но там уже OnClick сценарий на месте:Google Analytics: добавление onClick, но ссылка уже имеет onClick?

<a class="checkout-btn" href="/checkout-start" class="button_control" onclick="return $(this).getForm().sendRequest('shop:on_setCouponCode')">Check out</a> 

Но мне нужно добавить этот скрипт для GA:

onClick = "ga ('send', 'event', 'Header', 'hover', 'Outdoor Barstools');

Как я могу получить два события onClick по одной ссылке? Является ли это возможным?

+1

Так что добавьте его до возвращения заявления , Или даже лучше добавить события ненавязчиво. – epascarello

ответ

1

Самый простой (хотя и неправильно) способ заключается в использовании с запятой, имеющие две команды:

onClick="ga('send', 'event', 'Header', 'hover', 'Outdoor Barstools'); return $(this).getForm().sendRequest('shop:on_setCouponCode')" 

Лучше всего было бы, чтобы никогда не использовать атрибут OnClick HTML и использовать внешний JavaScript файл для связывания событие click() идентификатора. Это улучшает ремонтопригодность кода.

Tag становится:

<a class="checkout-btn" id="foo" ... 

Использование JQuery, и ссылки на идентификатор 'Foo' тег:

$('#foo').click(function() { 
    ga('send', 'event', 'Header', 'hover', 'Outdoor Barstools'); 
    return $(this).getForm().sendRequest('shop:on_setCouponCode'); 
}); 
+0

Большое вам спасибо! – Stephanie

0

Это одна из причин, почему добавление обработчика непосредственно в HTML является суб- оптимальный. Если вы используете JQuery, вы можете использовать метод связывания, , например:

$(".checkout-btn").bind("click", function(evt) { 
     console.log('oh yeah');   
}); 

Если вы используете только сырой JavaScript, это что-то вроде этого:

document.getElementById("checkout-btn") 
     .addEventListener("click", function(evt) { 
     console.log('oh yeah');   
}, false); 
Смежные вопросы