Документация для разработчиков
Темная тема

События редактора

Внимание! Мы настоятельно рекомендуем ознакомиться сначала с REST-документацией модуля Сайты, чтобы понять как модуль функционирует (тем более REST доступен и в коробочной версии). Данную документацию рассматривайте как подспорье при работе в коробке, когда вам действительно мало функционала REST, или вы хотите детальнее разобраться в API.

В редакторе присутствует возможность регистрации обработчиков ряда событий. Это позволит вам более гибко подойти к решению самых разнообразных задач. А в некоторых местах без них не обойтись. Например, блок со слайдером, где каждый слайд – отдельная карточка. После изменения в количестве карточек вам нужно будет скорее всего переинициировать код слайдера (зависит от конкретных библиотек и выходит за рамки данной документации).

Событие Описание С версии
BX.Landing.Block:init Вызывает обработчики после инициализации блока
BX.Landing.Block:Card:beforeAdd Вызывает обработчики перед добавлением карточки
BX.Landing.Block:Card:add Вызывает обработчики после добавления карточки
BX.Landing.Block:Card:beforeRemove Вызывает обработчики перед удалением карточки
BX.Landing.Block:Card:remove Вызывает обработчики после удаления карточки
BX.Landing.Block:beforeApplyStyleChanges Вызывает обработчики перед применением стилей из панели дизайна
BX.Landing.Block:updateStyleWithoutDebounce Вызывает обработчики немедленно на каждой итерации, без отсечек
BX.Landing.Block:updateStyle Вызывает обработчики после применения изменений дизайна
BX.Landing.Block:remove Вызывает обработчики в момент когда блок помечен как удаленный, но еще присутствует в DOM
BX.Landing.Block:afterRemove Вызывает обработчики после удаления из DOM
BX.Landing.Block:Node:update Вызывает обработчики после изменения ноды
BX.Landing.Block:beforeApplyContentChanges Вызывает обработчики перед применением изменений контента из панели "редактировать" (после клика на сохранить)
BX.Landing.Block:beforeApplyAttributesChanges Вызывает обработчики перед применением изменений атрибутов
BX.Landing.Block:Node:updateAttr Вызывает обработчики после изменения атрибута

В обработчики всех событий первым параметром передается объект BX.Landing.Event.Block или null.

Пример

Зарегистрировать свой обработчик можно через метод BX.addCustomEvent. Зарегистрируем обработчик на добавление карточки. Обратите внимание, обработчик будет вызываться при добавлении карточки любого блока, и вам нужно дополнительно контролировать нужные параметры.

BX.addCustomEvent('BX.Landing.Block:Card:add', BX.delegate(
   function (block) 
   {
      console.log(block);
   }
));


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх