Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
js:триггеры [2018/11/26 23:59] a1 создано |
— (текущий) | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Триггеры ====== | ||
| - | Тривязанные события можно вызвать с помощью метода ''trigger'', библиотеки JQuery. | ||
| - | |||
| - | ===== Триггеры ===== | ||
| - | ==== w_load ==== | ||
| - | Вызов события w_load | ||
| - | |||
| - | === Контекст === | ||
| - | За контекст принимается родительский DOM элемент для тех слоев, для которых вызывается событие, либо конкретный слой. Если не указан аргумент ''no_child'' события будут вызваны для всех дочерних элементов слоя. | ||
| - | |||
| - | === Функция-триггер function(no_child) === | ||
| - | ^Аргумент^Описание^Тип^По-умолчанию^ | ||
| - | |no_child|Не вызывать события дочерних элеменов|boolean|false| | ||
| - | |||
| - | <code javascript> | ||
| - | //вызвать событие w_load для слоя user.user и всех дочерних слоев | ||
| - | $('[data-layout="user.user"]').trigger('w_load'); | ||
| - | |||
| - | //вызвать событие w_load только для слоя user.user | ||
| - | $('[data-layout="user.user"]').trigger('w_load',true); | ||
| - | </code> | ||
| - | |||
| - | ==== w_request.task ==== | ||
| - | Событие возникающее при отправке данных на сервер запросом //task// (см.''w_core.request'') | ||
| - | Вместо //task// должно быть указано полное имя запроса | ||
| - | |||
| - | === Контекст === | ||
| - | Рекомендуется элемент ''$(document)''. | ||
| - | |||
| - | === Функция-обработчик function(layout,request) === | ||
| - | |||
| - | ^Аргумент^Описание^Тип^ | ||
| - | |task|[[:js#именование_запросов|Имя запроса]]|string| | ||
| - | |request|Данные запроса|object, объект FormObject| | ||
| - | |||
| - | <code javascript> | ||
| - | //событие возникает при добавлении в корзину | ||
| - | $(document).on('w_request.order.cart.add',function(task, request){ | ||
| - | console.log('Пользователь запросил добавление в корзину'); //выводим информацию | ||
| - | console.log(request); //выводим данные запроса | ||
| - | }); | ||
| - | </code> | ||
| - | ==== w_request_success.task ==== | ||
| - | Событие возникающее при получении ответа от сервера на запрос //task// (см.''w_core.request'') | ||
| - | Вместо //task// должно быть указано полное имя запроса | ||
| - | |||
| - | === Контекст === | ||
| - | Рекомендуется элемент ''$(document)''. | ||
| - | |||
| - | === Функция-обработчик function(layout,request,response) === | ||
| - | |||
| - | ^Аргумент^Описание^Тип^ | ||
| - | |task|[[:js#именование_запросов|Имя запроса]]|string| | ||
| - | |request|Данные запроса|object, объект FormObject| | ||
| - | |response|Данные ответа|object| | ||
| - | |||
| - | <code javascript> | ||
| - | //событие возникает при ответе сервера на добавление в корзину | ||
| - | $(document).on('w_request_success.order.cart.add',function(task, request,response){ | ||
| - | console.log('Сервер ответил на добавление в корзину'); //выводим информацию | ||
| - | console.log(request); //выводим данные запроса | ||
| - | console.log(response); //выводим данные ответа | ||
| - | }); | ||
| - | </code> | ||
| - | |||
| - | ==== w_request_error.task ==== | ||
| - | Событие возникающее в случае ошибки ответа от сервера на запрос //task// (см.''w_core.request'') | ||
| - | Вместо //task// должно быть указано полное имя запроса | ||
| - | |||
| - | === Контекст === | ||
| - | Рекомендуется элемент ''$(document)''. | ||
| - | |||
| - | === Функция-обработчик function(layout,request,response) === | ||
| - | |||
| - | ^Аргумент^Описание^Тип^ | ||
| - | |task|[[:js#именование_запросов|Имя запроса]]|string| | ||
| - | |request|Данные запроса|object, объект FormObject| | ||
| - | |response|Данные ответа|object| | ||
| - | |||
| - | <code javascript> | ||
| - | //событие возникает при серверной ошибке | ||
| - | $(document).on('w_request_error.order.cart.add',function(task, request,response){ | ||
| - | console.log('Сервер недоступен'); //выводим информацию | ||
| - | console.log(request); //выводим данные запроса | ||
| - | console.log(response); //выводим данные ответа | ||
| - | }); | ||
| - | </code> | ||