События¶
Событие объявляется так:
$.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_text —
plain-text
данные ответа.
'ce.[EVENT_NAME]', [response_data, params, response_text]
— запускается после AJAX-запроса.response_data — данные ответа;
params — параметры запроса;
response_text —
plain-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.text —
plain-text
данные ответа.
'ce.full_page_load', [response_data]
— запускается после выполнения AJAX-запроса, когда страница была отрисована полностью (например, переход по ссылке в режиме виджета).- response_data — данные ответа.