JQuery location.href — отслеживание событий

У меня есть страница предложений со многими предложениями. Клиент хочет добавить скрипт отслеживания к одному конкретному предложению и отслеживать клики по нескольким кнопкам, например, «Подробнее», «Поделиться» и «Купить».

Я хочу использовать следующее:

if (window.location.href == "www.ddd.xx/theoffer") {
    if $( "#target" ).click(function() { // run tracking script }
    else if $( "#second_target" ).click(function() { // run another tracking script}
    else if $( "#third_target" ).click(function() { // run another tracking script } };

это выглядит нормально?

Я буду очень признателен за вашу помощь! БР, новичок


person Community    schedule 18.01.2015    source источник
comment
Ты это пробовал? Что не работает? Трудно сказать, правильно это или нет, не видя больше контекста.   -  person jbowes    schedule 18.01.2015
comment
Удалите операторы if и else if, и все должно работать нормально.   -  person Rory McCrossan    schedule 18.01.2015
comment
Спасибо, Рори, мне удалить все if и else if или только те, что внутри первого if?   -  person    schedule 18.01.2015


Ответы (1)


Мне интересно, отслеживаете ли вы свою целевую страницу или текущую страницу. window.location.href означает URL-адрес вашей текущей страницы, или вы можете настроить его для перехода на другую страницу.

Но независимо от того, какую страницу вы отслеживаете, вы должны сначала связать функцию click с кнопками.

Для текущей страницы вы можете выполнить привязку следующим образом:

$( "#target" ).click(function() { // run tracking script });
$( "#second_target" ).click(function() { // run another tracking script});
$( "#third_target" ).click(function() { // run another tracking script});

Эта функция является обратным вызовом и не будет запускать отслеживание напрямую. Она будет запущена только после того, как вы нажмете правую кнопку.

Если у вас есть много кнопок для выполнения аналогичной работы, кажется, вы можете добавить class="track_button" ко всем <button> и связать следующим образом:

$(".track_button").click(function(){
  if (window.location.href == "www.dd/xx/the_offer") {
    var curId = $(this).attr("id");
    if(curId == "target"){
      //do tracking 1
    }
    else if(....){
      //do tracking n....
    }
  }
});
person Bandon    schedule 18.01.2015