События
Общие принципы
На всем жизненном цикле слайдера (открытие-загрузка-закрытие-уничтожение) генерируются события. События посылаются как в родительское окно, так и в iframe. Если слайдер с произвольным содержимым, события генерируются только в родительском окне.
Существует два варианта подписки на события.
- Глобальная подписка.
BX.addCustomEvent("SidePanel.Slider:onOpen", function(event) { console.log(event.getSlider()); //получить объект слайдера });
- На родительской странице данное событие будет генерироваться для всех слайдеров. Для определения конкретного слайдера в обработчике можно использовать метод getUrl() или getData().
- Если обработчик назначен внутри iframe'а, он будет выполнен только в рамках конкретного слайдера.
- Для назначения обработчика используется полное название события.
- Подписка на события конкретного слайдера.
BX.SidePanel.Instance.open("/crm/button/edit/10/", { events: { onLoad: function(event) { console.log("onLoad"); } } });
- Обработчик события выполнится только для указанного слайдера.
- Для назначения обработчика используется короткое название события.
Пример
Пример назначения обработчика в BX.SidePanel.Instance.bindAnchors.
BX.SidePanel.Instance.bindAnchors({ rules: [ { condition: [ "/crm/button/edit/(\d+)/" ], options: { cacheable: false, width: 900, events: { onLoad: function(event) { console.log("onLoad"); } } } } ] });
В первом аргументе обработчики получают объект события типа BX.SidePanel.Event.
BX.addCustomEvent("SidePanel.Slider:onCloseComplete", function(event) { console.log(event.getSlider()); //получить объект слайдера });
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.