Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 247
1

Как сделать обработчик события на js?

15.04.2019, 06:29. Показов 3994. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу модуль...встал вопрос, как добавить событие через js.
Сейчас у меня через php обрабатывается событие на добавление в корзину и это событие вызывает js скрипт.
Если добавлять в корзину ссылкой, которая сразу перекидывает в корзину, то js скрипт появляется, а если добавление в корзину идет через ajax, то мой js не появляется. Каким образом добавить в модуле обработчик события js?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2019, 06:29
Ответы с готовыми решениями:

Как сделать обработчик события treeveiw?
Доброго времени суток! Я конечно извиняюсь за вопрос. Не могу найти как написать обработчик события...

Как сделать свой обработчик события для нескольких TextBox
У меня есть метод, который не позволяет писать в textBox'ы ничего кроме цифр. public static int...

Как сделать чтобы обработчик события работал со всеми элементами выбранными .querySelectorAll()?
var a=document.querySelectorAll('.portfolio img'); // получаем картинки с HTML; ...

WTL как Сделать Мультиселект? Пересылка сообщений Обработчик события нажатия клавиши
Hi ALL! Сабж в том, что я ни разу в глаза не видел WTL и вообще не вкурю откуда у него ноги...

4
2304 / 1225 / 246
Регистрация: 16.03.2008
Сообщений: 5,840
Записей в блоге: 2
15.04.2019, 08:31 2
Для начала вы должны понять. Что PHP работает на стороне сервера, а JS на стороне клиента. По этому в "модуле" (я так понимаю в PHP) обработчик события JS (а все события JS происходят только в браузере) не сделать. По этому у вас два варианта (в обоих забыть про терминологию "событие js"):
1. Подобрать по функционалу событие на стороне сервера и реализовать необходимый алгоритм в обработчике этого события
2. Если это нечто должно работать на стороне браузера. У вас же ajax, соответственно и напрашивается выбор: вы получаете результаты ajax-запроса и обрабатываете их - добавьте туда необходимый функционал.
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 247
15.04.2019, 08:45  [ТС] 3
Цитата Сообщение от voral Посмотреть сообщение
Что PHP работает на стороне сервера, а JS на стороне клиента
Это понятно. Но ajax никто не отменял.
Цитата Сообщение от voral Посмотреть сообщение
Подобрать по функционалу событие на стороне сервера и реализовать необходимый алгоритм в обработчике этого события
Событие я подобрал. OnSaleBasketBeforeSaved
У меня по этому событию формируется dataLayer для электронной коммерции.
Вот только если добавление в корзину происходит через ajax - то в GTM ничего не улетает.
Цитата Сообщение от voral Посмотреть сообщение
вы получаете результаты ajax-запроса и обрабатываете их - добавьте туда необходимый функционал
Это без проблем можно добавить в шаблон компонента, но у меня по задумке - все должно отрабатывать в стороннем модуле и никак не должно зависеть от компонента.
0
2304 / 1225 / 246
Регистрация: 16.03.2008
Сообщений: 5,840
Записей в блоге: 2
15.04.2019, 18:03 4
Т.е. вы хотите совсем не влезая в код других модулей выполнить дополнительный js (добавление в datalayer)?

Универсально не получится (особенно если учесть, что ajax возрвщать может и json). Иногда в битриксных компонентах (в js) инициализируются некоторые события - посмотрите в компонентах с котороыми работаете - может найдете и "подпишитесь". Вообще если не ошибаюсь на добавление в корзину есть какоето событие, на котрое подписывается "штатная" корзина в шапке. Подпишитесь на него, например. Но тут надо понимать, если на проекте кто -то кастомизирует шаблон и уберет это событие.... Ваш функционал работать не будет.
0
8 / 16 / 2
Регистрация: 15.06.2015
Сообщений: 247
15.04.2019, 18:10  [ТС] 5
Цитата Сообщение от voral Посмотреть сообщение
событие, на котрое подписывается "штатная" корзина в шапке.
Да, уже нашел это событие. Пока не очень понял, как оно работает...точнее именно подписаться на него почему-то не получается.
Нашел другую функцию битрикса(точнее событие)...типо если отработал встроенный ajax. На него подписался, но это событие отрабатывает аж раз по 5 за 1 добавление в корзину. В итоге куча дублированных данных в dataLayer.

Блин..и неужели те дорогущие модули в маркетплейсе не универсальные? да ни за что не поверю...
0
15.04.2019, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2019, 18:10
Помогаю со студенческими работами здесь

OpenGL как сделать обработчик события при наведении мышкой на фигуре в трехмерном пространстве?
Я уже не прошу написать код, но хотя бы подскажите статьи где рассказывается о том, как реализуется...

Directx 9.0 как сделать обработчик события при наведении мышкой на фигуре в трехмерном пространстве?
Я уже не прошу написать код, но хотя бы подскажите статьи где рассказывается о том, как реализуется...

ООП. Как в классе сделать обработчик события для тэга в виде метода будущего объекта?
Здравствуйте. Помогите разобрться. Я в PHP вывожу в цикле однотипные группы тэгов, к каждой...

Как в одном обработчике события запустить другой обработчик события
Есть список listView1, который заполняется из массива PeopleListprivate void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru