События

Событие объявляется так:

$.ceEvent('trigger', 'ce.event_name', [a, b, c]);

где

  • ce.event_name — название события, обязательно с префиксом ce (CS-Cart event);
  • [a, b, c] — массив параметров, которые будут переданы обработчикам события.

Обработчик объявляется так:

$.ceEvent('on', 'ce.event_name', function(a, b, c) {
...
});

Если заменить on на one, то обработчик выполнится только 1 раз и после этого удалится.

Обработчиков может быть несколько, выполняются они в порядке, в котором были объявлены. Обработчик может вернуть false — в этом случае последующие обработчики не будут выполнены.

Стандартные события

  • 'ce.switch_[ELM_ID]', [flag] — запускается при скрытии/раскрытии элемента с помощью микроформата cm-combination.

    • flag — флаг состояния элемента — открыт/скрыт;
    • [ELM_ID] — идентификатор элемента (html свойство id).
  • 'ce.picker_js_action_[ELM_ID]', [elm] — запускается при выборе элемента в ajax_select_object.tpl.

    • elm
    • [ELM_ID]
  • 'ce.formpre_[FORM_NAME]', [form, clicked_elm] — запускается при отправке формы, перед проверкой элементов.

    • form — объект, указывающий на отправляемую форму;
    • clicked_elm — объект, указывающий на элемент, который вызвал отправку формы;
    • [FORM_NAME] — имя формы.
  • 'ce.formpost_[FORM_NAME]', [form, clicked_elm] — запускается при отправке формы, после проверки элементов.

    • form — объект, указывающий на отправляемую форму;
    • clicked_elm — объект, указывающий на элемент, который вызвал отправку формы;
    • [FORM_NAME] — имя формы.
  • 'ce.formajaxpost_[FORM_NAME]', [response_data, params, response_text] — запускается после отправке формы через AJAX.

    • response_data — данные ответа;
    • params — параметры запроса;
    • response_textplain-text данные ответа.
  • 'ce.[EVENT_NAME]', [response_data, params, response_text] — запускается после AJAX-запроса.

    • response_data — данные ответа;

    • params — параметры запроса;

    • response_textplain-text данные ответа;

    • [EVENT_NAME] — название события с префиксом ce. из аттрибута data-ca-event, если запрос был инициирован DOM элементом, либо переданным в параметре callback:

      $.ceAjax('request', 'http://site.com', { callback: 'ce.some_event' });
      
  • 'ce.ajaxdone', [elms, inline_scripts, params, data, response.text] — запускается после выполнения AJAX-запроса, после загрузки всех внешних скриптов.

    • elms — коллекция элементов, которые были обновлены запросом;
    • inline_scripts — массив inline-скриптов, пришедших в ответе;
    • params — параметры запроса;
    • data — данные ответа;
    • response.textplain-text данные ответа.
  • 'ce.full_page_load', [response_data] — запускается после выполнения AJAX-запроса, когда была отрендерена страница полностью (например, переход по ссылке в режиме виджета).

    • response_data — данные ответа.