Analytics
Сейчас в сети: 434
Сейчас в сети: 434
Вопросы настройки тегов, правила и макросы, администрирование GTM
Подсказки
star_border
Ответить

MouseUp и CSS

Магистр ✭

Здравствуйте!

На сайте имеется код

<div class="lightshop-form-actions form-actions form-wrapper" id="edit-actions">

<input class="clear-button form-submit ajax-processed" type="submit" id="edit-clear" name="clear" value="Очистить корзину">

<input class="update-button form-submit ajax-processed" type="submit" id="edit-update" name="op" value="Обновить" style="display: none;">

<input class="checkout-button form-submit ajax-processed" type="submit" id="edit-checkout" name="checkout" value="Оформить заказ"></div>

Надо отследить событие по кнопке "оформить заказ". При нажатии на кнопку event=mouseup, но данных к которым можно привязать триггер нет.

Рассматриваю 2 вида решения:

1. Можно ли как то настроить триггер через CSS при event=mouseup?

2. Ближайший gtm.click отслеживается на уровне div, но через селектор типа '.class*' также не удалось вызвать тег. Возможен ли такой вариант?

 

Заранее благодарю!

1 Ответ экспертаverified_user
1 УТВЕРЖДЕННОЕ РЕШЕНИЕ

Утвержденные решения
Лучший ответ.
Решение
Утвердил автор темы Ольга К
мая 2016

Re: MouseUp и CSS

Ведущий участник

Мда. Скрипт Drupal.ajax перехватывает до клика событие mousedown и потом событий уже никаких нет.
Поставьте такой костыль в виде произвольного тега HTML на страницу с корзиной по готовности DOM:
<script>
jQuery("#edit-checkout").bind('mousedown', function (event) {dataLayer.push({'event': 'edit-checkout-click'})});
</script>
И тогда настраивайте триггер на пользовательское событие edit-checkout-click
Второй вариант - разбор запросов на ajax, код и описание можно найти тут: http://www.esliklientov.net/articles/%D0%B2%D0%B5%D0%B1-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D1%82%D0%B8%D...

Просмотреть решение в исходном сообщении

Re: MouseUp и CSS

Ведущий участник
Добрый день.
Нажатие вызывает событие click. MouseUp - отпускание кнопки мыши, после него идет событие "click" - сейчас много устройств с тачскринами и если ловить событие только по MouseUp , то часть событий будете пропускать.
Вы можете настроить стандартное отслеживание клика в GTM, где в качества условия укажите Click ID = edit-checkout (ID вашей кнопки "Оформить заказ").

Re: MouseUp и CSS

Магистр ✭
Спасибо за ответ, но проблема как раз заключается в том что клик по объекту не выполняется, а при попытке нажать в поле кнопки, выполняется javascript.
Проверенно на практике, триггер с такой настройкой не выполняет тэг, т.е. фактически кнопка не жмется.

Re: MouseUp и CSS

Ведущий участник
не могли бы прислать ссылку на страницу с кнопкой

Re: MouseUp и CSS

Магистр ✭
Лучший ответ.
Решение
Утвердил автор темы Ольга К
мая 2016

Re: MouseUp и CSS

Ведущий участник

Мда. Скрипт Drupal.ajax перехватывает до клика событие mousedown и потом событий уже никаких нет.
Поставьте такой костыль в виде произвольного тега HTML на страницу с корзиной по готовности DOM:
<script>
jQuery("#edit-checkout").bind('mousedown', function (event) {dataLayer.push({'event': 'edit-checkout-click'})});
</script>
И тогда настраивайте триггер на пользовательское событие edit-checkout-click
Второй вариант - разбор запросов на ajax, код и описание можно найти тут: http://www.esliklientov.net/articles/%D0%B2%D0%B5%D0%B1-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D1%82%D0%B8%D...

Re: MouseUp и CSS

Магистр ✭

Спасибо! Всё получилось.
По аналогии попыталась сделать тоже с кнопкой для отправки заказа в том же теге, но ничего не получилось. Можете подсказать почему?
jQuery("#edit-submit--2").bind('mousedown', function (event) {dataLayer.push({'event': 'edit-submit-click'})});

В разных тегах, активирующихся по очереди тоже не получилось.

 

Проблему поняла, для кнопки отправки заказа id динамический. Как-то можно его прописать в данном случае?

Re: MouseUp и CSS

Ведущий участник
Потому, что в момент назначения события элемента с ID edit-submit--2 еще нет на странице. Он загружается после отправки первой формы

Re: MouseUp и CSS

Магистр ✭
Пытаюсь сделать цепочку после выполнения костыля - триггер активирует тег в котором выполняется второй скрипт для отправки заявки, т.е. в момент когда ID edit-submit--2 уже есть на странице. Только вот ID динамический.

Re: MouseUp и CSS

Ведущий участник
Можно сделать универсальный обработчик для всех таких кнопок на сайте:
jQuery(".ajax-processed").bind('mousedown', function (event) {dataLayer.push({'event': 'edit-checkout-click', 'mousedown-id': event.target.id})});
В переменной уровня данных mousedown-id будет id элемента, по которому кликнули и содержит класс ajax-processed. Вызывать его нужно тогда, когда элементы уже есть на странице