Как передать DOM элемент в коллбэк miniShop2 Новый

Дополнение: miniShop2

Всем привет, данный вопрос уже много раз мусолили в сообществе, но хорошего решения так я и не нашёл, поэтому делаю ещё одну попытку, может в этот раз всё прояснится, и так:
В miniShop2 есть система коллбеков, в которую можно добавлять свои, это безумно круто и спасибо в очередной раз автору за такую гибкость, но проблема в том что в эти коллбеки не передаётся DOM элемент, спровоцировавший событие и тут приходится велосипедить на js всякие не красивые штуки.
Суть вопроса вот в чём, в карточке товара есть две кнопки — в корзину и быстрая покупка, надо что бы первая вела себя как обычно, просто добавляла товар и уведомляла нас что он добавлен, а вторая добавляла товар и если он успешно добавлен, то перекидывала сразу в корзину, и вот если бы в коллбек miniShop2 — добавление товара в корзину — можно было бы передать ту кнопку, которая спровоцировала событие добавления и проверить в своей функции допустим по классу, то можно было бы реализовать просто: и быструю покупку и открытие в модальном окне и вообще всё что душа попросит)

Но сколько бы я не выводил в консоль всё что передаётся в коллбек, элемента спровоцировавшего событие я там не нашёл.
Ну и теперь суть вопроса — как передать в коллбек — добавление, да и в другие коллбеки miniShsop2 DOM элемент, который провацирует событие?
07 октября 2016, 12:37    Sem   G+  
4    358 0

Комментарии (2)

  1. Sem 07 октября 2016, 15:22 # +1
    Я всё таки откопал решение, в недрах постов сообщества)
    Решение на удивление простое:
    В свою функцию в коллбеке miniShop2 на самом деле передаёт элемент формы, с которой пришло событие, просто я не думал что искать его надо вот так)
    var form = miniShop2.sendData.$form
    Так что мой вопрос решился просто — второй форме, в которой лежит кнопка быстрой покупки, я дописал ещё один класс по мимо ms2_form — например fast_order и в своей функции проверил
    if(form.hasClass('fast_order')){
            document.location = '/korzina';
        }
    1. Sem 07 октября 2016, 15:33 # 0
      Итоговое решение — просто у себя в js пишем
      miniShop2.Callbacks.Cart.add.response.success = function() {
          if(miniShop2.sendData.$form.hasClass('fast_order')){
              document.location = '/korzina';
          }
      };
      Вы должны авторизоваться, чтобы оставлять комментарии.