Была ли полезна для вас статья?

Использование JS-ивентов 


Что такое ивент?


Ивент (event) — это событие, которое происходит в процессе выполнения программы. События могут быть вызваны различными действиями пользователя или изменениями состояния элементов на веб-странице.



Системные события

1) se.ready — это событие срабатывает, когда Smart Engine и все его компоненты загружены.


Пример использования:


document.addEventListener ('se.ready', function () {

    console.log('Smart Engine is ready');

});



Событие рендеринга товара

1) se.catalog.item.rendered — этот ивент срабатывает после того, как товар был отрендерен (загружен) в модальном окне. Позволяет получить доступ к данным конкретного товара.


Пример использования:


document.addEventListener ('se.catalog.item.rendered', function () {

let id = __SE.tpl.catalog.render.loaded.item;
let item = __SE.tpl.catalog.cache[id];
console.log('Отрендерен товар с ID:', id);
console.log('Объект товара:', item);

});

где __SE.tpl.catalog.render.loaded.item — id загруженного товара, а __SE.tpl.catalog.cache[id] — объект с данными об этом товаре.




События корзины

1) se.cart.update  этот ивент срабатывает при любом изменении корзины, таком как добавление, изменение или удаление товаров, изменение способа доставки, системы оплаты или применение купона. Чтобы получить необходимые данные о корзине вы можете использовать объект __SE.tpl.cart.data.

Пример использования:


document.addEventListener ('se.cart.update', function () {

    console.log(__SE.tpl.cart.data);

});


2) se.cart.error — этот ивент срабатывает при возникновении ошибки при оформлении заказа. При срабатывании этого ивента вы можете использовать объект __SE.tpl.cart.error, который содержит следующие параметры:


data данные, необходимые для анализа ошибки (при их наличии).
fields ошибочные поля формы (при их наличии).
status статус ошибки, для идентификации типа ошибки.




События прелоадера

Эти события помогут избежать конфликтов в логике собственных прелоадеров или других алгоритмов, связанных со стандартным прелоадером. 



1) se.preloader.stop — это событие срабатывает, когда стандартный прелоадер Smart Engine завершает свою работу. Оно позволяет синхронизировать пользовательские действия с завершением системных процессов.


Пример использования:


document.addEventListener ('se.preloader.stop', function () {

    console.log('Стандартный прелоадер завершил работу.');

});


2) se.preloader.stopped — это событие срабатывает после завершения анимации стандартного прелоадера. Оно всегда происходит после se.preloader.stop, что позволяет выполнять пользовательские действия только после полной остановки стандартной анимации.


Пример использования:


document.addEventListener ('se.preloader.stopped', function () {

    console.log('Анимация прелоадера завершена.');

});