Эмуляция DOM-событий, функция BX.fireEvent ()
BX.fireEvent()
— маленькая, но крайне полезная функция ядра Bitrix. Она берёт на себя всю кросс-браузерную «грязь» и позволяет вызвать любое DOM-событие так, будто пользователь действительно кликнул мышью или нажал клавишу.
BX.fireEvent(
// DOM-узел
node
// событие
eventName
);
node
DOM-узел,document
илиwindow
, на котором надо активировать событиеeventName
строка без приставкиon
:"click"
,"submit"
,"focusin"
и т. д.
Виртуальный клик по кнопке
<button id="demo-btn">Нажми виртуально</button>
<script>
BX.ready(() => {
const button = BX('demo-btn');
BX.bind(button, 'click', () => {
alert('Обработчик сработал!');
});
// эмулируем через секунду
setTimeout(() => BX.fireEvent(button, 'click'), 1000);
});
</script>