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

События

Общие принципы

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