Установить функцию в качестве обработчика события BX24.bind

Выберите инструмент для разработки с AI-агентом:

  • используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
  • используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
BX24.bind(element: object, eventName: string, func: callable): void;

Метод BX24.bind назначает функцию func обработчиком события eventName у элемента страницы приложения element.

По сути это упрощенный addEventListener. Для событий mousewheel и transitionend метод сразу подписывается и на их варианты для старых браузеров. Метод не принимает настройки addEventListener, например capture или once: обработчик срабатывает на самом элементе и при всплытии события от вложенных элементов, но не на этапе перехвата. Если нужны эти настройки, вызывайте addEventListener напрямую.

Метод работает на странице приложения, где подключена библиотека BX24.js, и не обращается к Битрикс24. Собственный scope методу не нужен. Вызывайте метод, когда элемент уже есть на странице, например в обработчике BX24.ready.

Параметры метода

Обязательные параметры отмечены *

Название
тип

Описание

element*
object

Элемент страницы приложения, например результат document.getElementById

eventName*
string

Название события без префикса on, например click. Для mousewheel метод дополнительно назначает обработчик события DOMMouseScroll, для transitionend — событий webkitTransitionEnd, msTransitionEnd и oTransitionEnd

func*
callable

Функция-обработчик. Получает объект события браузера (подробное описание). Если функция объявлена через function и не привязана через Function.prototype.bind, this внутри нее указывает на element

Пример кода

Как использовать примеры в документации

<button id="run-action">Запустить</button>

<script>
    BX24.ready(function () {
        const button = document.getElementById('run-action');

        BX24.bind(button, 'click', function (event) {
            console.log('Событие', event.type, 'на кнопке', this.id); // Событие click на кнопке run-action
        });
    });
</script>

Обработка ответа

Метод не возвращает данные (void). Когда событие произойдет, браузер вызовет func и передаст ей объект события, например MouseEvent для click. Набор полей зависит от типа события. Среди них всегда есть строка type с названием события и два элемента страницы: в target — тот, на котором событие произошло, в currentTarget — element, на который назначен обработчик. Они различаются, если событие пришло от вложенного элемента.

Чтобы потом снять обработчик через BX24.unbind, сохраните функцию в переменную: снять обработчик можно только по той же ссылке на функцию.

Обработка ошибок

Кодов ошибок метод не возвращает.

Ситуация

Что происходит

Что делать

Элемента нет на странице: в element передан null, например результат getElementById для несуществующего id

Обработчик не назначается, ошибки нет

Проверить id элемента и вызывать метод после готовности страницы, в обработчике BX24.ready

В element передан обычный объект, а не элемент страницы

Библиотека записывает обработчик в свойство объекта, например onclick для события click. Событие браузера при этом не отслеживается, ошибки нет

Передать элемент страницы, например результат document.getElementById

В func не передана функция

Если func не передан или равен null, обработчик не назначается, ошибки нет. Если element — элемент страницы, а в func передана строка или число, возникает исключение TypeError

Передать функцию

Продолжите изучение