Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.09.2021, 00:38
Интересующийся
Отправить личное сообщение для romveld Посмотреть профиль Найти все сообщения от romveld
 
Регистрация: 20.10.2018
Сообщений: 24

Получить событие через функцию-свойство объекта
Всем привет! Кто в курсе, как получить событие через функцию-свойство объекта. Код такой, тут вызывается событие - https://prnt.sc/1qzgkox. Тут происходит его обработка - https://prnt.sc/1qzgmdv. В обычном addEventListener() всё понятно, а как тут добрать до элемента, вызвавшего событие. Это Opencart, функция wishlist.add встроенная, переписывать её логику не хотелось бы, тем более, что это затронет конролеры, модель и ещё какую-нибудь абру-кадабру. Если существует способ подтащить событие в success средствами JS подскажите, буду очень признателен. Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2021, 02:27
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

romveld, испоняющееся прямо сейчас событие лежит в window.event, но во-первых оно deprecated и его могут когда-нить выпилить, а во вторых success исполнится не в момент вызова, а когда придёт ответ, так что это не поможет без доп. подготовки.
Если ты не можешь переписать add, то что именно ты переписать можешь, не очень понятно?

Если тебе нужна именно кнопка - ты можешь зафигачить костыль от обратного:
const currentButton = document.querySelector(`button[onclick="wishlist.add('${product_id}');"]`);
alert(currentButton);

Но это сработает только если такая кнопка одна на продукт.)
__________________
29375, 35

Последний раз редактировалось Aetae, 02.09.2021 в 02:32.
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2021, 09:14
Интересующийся
Отправить личное сообщение для romveld Посмотреть профиль Найти все сообщения от romveld
 
Регистрация: 20.10.2018
Сообщений: 24

Нет, переписать можно всё, просто это будет сопровождаться большой вознёй, хотелось сократить количество усилий, но если простого решения нет, то придётся что-то выдумывать. Спасибо за ответ!
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2021, 09:40
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,480

romveld, и таки я всё равно не понял, что именно можно переписать "без возни"?
Часть, что лежит в success? Тогда чем это отличается от переписывания add? Сверху add кладёшь const event = window.event; в success юзаешь...
__________________
29375, 35
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2021, 11:27
Интересующийся
Отправить личное сообщение для romveld Посмотреть профиль Найти все сообщения от romveld
 
Регистрация: 20.10.2018
Сообщений: 24

Вот это помогло, спасибо! Я правда ещё один способ нашёл подтянуть дата-атрибут элемента, по которому я кликаю и сравнить его с идентификатором, который я получал с сервера, но это уже ладно. В общем сложностей никаких, просто не сразу вник как это проще сделать, пошёл по сложному пути, думал менять способ вывода данных с сервера, а это сопряжено с допилом функций в контроллерах, моделях и т. п. Короче проблема решена, благодарю!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение размера объекта по одной из осей с помощью JavaScript? Gress131313 Общие вопросы Javascript 1 21.01.2020 11:26
Сделать функцию методом объекта MC-XOBAHCK Общие вопросы Javascript 5 01.11.2018 17:13
Как получить свойство стиля через jQuery FitzgeraldFox jQuery 1 10.09.2015 16:31
Как получить свойсвто объекта? Armen Общие вопросы Javascript 4 19.10.2014 06:45
Свойства объекта, методы и this. Почему свойство вызывается с () ? jsuse Общие вопросы Javascript 2 04.11.2011 20:39