Оптимизатор веб-сайта Google Два события onClick? - PullRequest
2 голосов
/ 27 февраля 2012

В Интернете есть множество ответов на вопрос «как объединить два события onclick», но в моей ситуации, похоже, ничего не работает.Оптимизатор веб-сайта Google предоставляет руководство по отслеживанию события, например, клика.Сначала я добавляю это в свой код Google Analytics:

  function doGoal(that) { 
    try { 

И так далее.Затем я должен добавить к своему событию следующее:

onclick="doGoal(this);return false;"

Но мое событие - это кнопка, которая уже содержит событие onclick:

<input type="image" src="image.png" onclick="productAddToCartForm.submit(this);return false;">

Как мне объединить два?Все, что я пробовал, либо ничего не зарегистрировало в Google, либо переадресует меня на страницу с именем / undefined /

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Я не знаю точно, что вы пытаетесь отследить, поэтому я буду использовать событие и просмотр страницы в качестве примера:

function doGoal() {
    var productNum = document.productAddToCartForm.product.value;
    var productQty = document.productAddToCartForm.qty.value;
    //event tracking
    _gaq.push(['_trackEvent', 'Cart', 'Add', productNum,  productQty]);
    //virtual page tracking for goal
    _gaq.push(['_trackPageview', '/cart/add/']);
    setTimeout("document.productAddToCartForm.submit()", 100);
}

Кнопка изображения:

<input type="image" src="image.png" onclick="doGoal();return false;">

Руководство по отслеживанию событий

Это примеры. Поместите свои собственные значения в отслеживание, которое вы хотели бы.

Функция setTimeout позволяет отправлять трекерам время до обработки формы.

Пример простой скрипки без отслеживания аналитики: http://jsfiddle.net/4vvKv/2/

1 голос
/ 27 февраля 2012

Если вы хотите связать одно и то же событие с несколькими вещами, вы должны использовать addEventListener . Имейте в виду, что в IE8 и прочем, прежде чем вам нужно использовать attachEvent. (также упоминается в документации выше)

В качестве альтернативы

onclick="productAddToCartForm.submit(this);doGoal(this);return false;"

должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...