События
Общие принципы
На всем жизненном цикле слайдера (открытие-загрузка-закрытие-уничтожение) генерируются события. События посылаются как в родительское окно, так и в 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-2025, «1С-Битрикс», 2025