Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
js:события [2018/11/28 23:50] a1 |
js:события [2023/06/03 04:25] (текущий) gear |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== События ====== | ====== События ====== | ||
| - | События привязываются с помощью метода ''on'', библиотеки JQuery. | + | События привязываются с помощью стандартного метода регистрации событий [[https://developer.mozilla.org/ru/docs/Web/API/EventTarget/addEventListener|addEventListener]] |
| ===== События ===== | ===== События ===== | ||
| - | ==== w_load ==== | + | ==== kation.load ==== |
| - | //context//.on('**w_load**.//layout//', //handler//) | + | Событие возникающее при отрисовки слоя. |
| - | Событие возникающее при загрузке слоя //layout//. | + | Данные, передаваемые в событие |
| + | ^Аргумент^Описание^Тип^ | ||
| + | |target|отрисовываемый слой|Element| | ||
| + | |direct|true если слой отрисовывается напрямую, false если как дочерний|bool| | ||
| - | ^Аргумент^Описание^Тип^По-умолчанию^ | ||
| - | |context|Родительский DOM элемент для слоев требующих обработки. Рекомендуется элемент ''$(document)''|JQuery object обязательный| | | ||
| - | |layout|Имя загружаемого слоя или ''any'' для всех слоев|[[:js#именование_слоев|Имя слоя]] обязательный| | | ||
| - | |handler|Функция обработчик|function обязательный| | | ||
| - | |||
| - | === Функция handler === | ||
| - | function(//layout//) | ||
| - | |||
| - | ^Аргумент^Описание^Тип^ | ||
| - | |this|Текущий загруженный слой|объект JQuery| | ||
| - | |layout|[[:js#именование_слоев|Имя слоя]]|string| | ||
| <code javascript> | <code javascript> | ||
| //событие возникает при загрузке профиля пользователя | //событие возникает при загрузке профиля пользователя | ||
| - | $(document).on('w_load.user.user.profile',function(layout){ | + | document.addEventListener('kation.load.user.user.profile',(e)=>{ |
| - | $(this).append('<p>Профиль пользователя</p>'); //добавить тег в конец слоя | + | let elLayout = e.target; |
| + | console.log('Отрисованный слой',elLayout); | ||
| }); | }); | ||
| //событие возникает при загрузке любого слоя | //событие возникает при загрузке любого слоя | ||
| - | $(document).on('w_load.any',function(layout){ | + | $(document).on('kation.load',(e)=>{ |
| - | $(this).append('<p>Слой '+layout+' загружен</p>'); //добавить тег в конец слоя | + | let elLayout = e.target; |
| + | console.log('Отрисованный слой',elLayout); | ||
| }); | }); | ||
| </code> | </code> | ||
| - | ==== w_request ==== | + | ==== kation.request ==== |
| - | //context//.on('**w_request**.//task//', //handler//) | + | События возникающее при отправке данных на сервер методом [[js:w_core#request|w_core.request]] |
| - | + | === kation.request.start === | |
| - | Событие возникающее при отправке данных на сервер методом [[js:w_core#request|w_core.request]] | + | Возникает до отправки на сервер |
| - | + | === kation.request.success === | |
| - | ^Аргумент^Описание^Тип^По-умолчанию^ | + | Возникает при получении положительного ответа |
| - | |context|объект JQuery(document)|объект JQuery(document) обязательный| | | + | === kation.request.fail === |
| - | |task|[[:js#именование_запросов|Имя запроса]]|string обязательный| | + | Возникает при ошибке запроса |
| - | |handler|Функция обработчик|function обязательный| | | + | |
| - | + | ||
| - | === Функция handler === | + | |
| - | function(//task//,//request//) | + | |
| + | Данные, передаваемые в событие | ||
| ^Аргумент^Описание^Тип^ | ^Аргумент^Описание^Тип^ | ||
| - | |this|объект JQuery(document)|объект JQuery(document)| | + | |task|запрос к серверу|string| |
| - | |task|[[:js#именование_запросов|Имя запроса]]|string| | + | |requestData|Данные запроса к серверу|{} или FormData| |
| - | |request|Данные запроса|object, объект FormObject| | + | |responseData|Данные ответа от сервера|{} или string| |
| <code javascript> | <code javascript> | ||
| - | //событие возникает при добавлении в корзину | + | document.addEventListener('kation.request.start.user.confirm',(e)=>{ |
| - | $(document).on('w_request.order.cart.add',function(task, request){ | + | console.log('Пользователь нажал кнопку сохранения профиля'); |
| - | console.log('Пользователь запросил добавление в корзину'); //выводим информацию | + | console.log(e.requestData); //отправленные данные |
| - | console.log(request); //выводим данные запроса | + | |
| }); | }); | ||
| - | </code> | ||
| - | ==== w_request_success.task ==== | ||
| - | //context//.on('**w_request_success**.//task//', //handler//) | ||
| - | Событие возникающее при получении ответа от сервера на запрос методом [[js:w_core#request|w_core.request]] | + | document.addEventListener('kation.request.success.user.confirm',(e)=>{ |
| - | + | console.log('Запрос на сохранения профиля выполнен'); | |
| - | ^Аргумент^Описание^Тип^По-умолчанию^ | + | console.log(e.requestData); //отправленные данные |
| - | |context|объект JQuery(document)|объект JQuery(document) обязательный| | | + | console.log(e.responseData); //полученные данные |
| - | |task|[[:js#именование_запросов|Имя запроса]]|string обязательный| | + | /* Внимание! данное событие возникает при любом корректном ответе от сервера. Для проверки, действительно ли |
| - | |handler|Функция обработчик|function обязательный| | | + | запрос подтвержден сервером необходимо изучить полученные данные*/ |
| - | + | ||
| - | === Функция handler === | + | |
| - | function(//task//,//request//,//response//) | + | |
| - | + | ||
| - | ^Аргумент^Описание^Тип^ | + | |
| - | |this|объект JQuery(document)|объект JQuery(document)| | + | |
| - | |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> | </code> | ||
| - | ==== w_request_error ==== | ||
| - | //context//.on('**w_request_error**.//task//', //handler//) | ||
| - | |||
| - | Событие возникающее в случае ошибки ответа от сервера на запрос методом [[js:w_core#request|w_core.request]] | ||
| - | |||
| - | ^Аргумент^Описание^Тип^По-умолчанию^ | ||
| - | |context|объект JQuery(document)|объект JQuery(document) обязательный| | | ||
| - | |task|[[:js#именование_запросов|Имя запроса]]|string| | ||
| - | |handler|Функция обработчик|function обязательный| | | ||
| - | |||
| - | === Функция handler === | ||
| - | function(//task//,//request//,//response//) | ||
| - | |||
| - | ^Аргумент^Описание^Тип^ | ||
| - | |this|объект JQuery(document)|объект JQuery(document)| | ||
| - | |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> | ||