# BX24.placement.bindEvent

URL: https://chugunov.pro/api-bitrix24/widgets/ui-interaction/bx24-placement-bind-event/
Проверено на Битрикс24 REST API, обновлено 11.09.2026 (ревизия источника fb39d6c).
Источник: официальная документация Битрикс24 (bitrix-tools/b24-rest-docs, лицензия MIT, © Bitrix). Справочник независимый, официальной документацией не является.

Установить обработчик события интерфейса
Scope: `placement`
Кто может выполнять метод: любой пользователь

## Описание

Метод `BX24.placement.bindEvent` устанавливает обработчик события интерфейса. Событие должно быть зарегистрировано текущей точкой встраивания, иначе подписка не сработает.

```js
BX24.placement.bindEvent(event, callback);
```

Это события интерфейса, а не [события REST](https://chugunov.pro/api-bitrix24/events/): обработчик выполняется в браузере, в коде виджета, и его не регистрируют методом `event.bind`.

## Параметры

- `event` `string` — обязательный. Имя события, на которое подписывается обработчик
- `callback` `callable` — обязательный. Функция обратного вызова.
  Обработчик `callback` может получать или не получать данные в зависимости от события, на которое он подписывается

## Примеры запроса

### BX24.js

```js
BX24.ready(function () {
    BX24.init(function () {
        BX24.placement.bindEvent('BackgroundCallCard::initialized', function (eventData) {
            console.log(eventData);
        });

        BX24.placement.bindEvent('CallCard::CallStateChanged', function (callState) {
            console.log(callState);
        });
    });
});
```

### JS (TS)

```ts
// $b24 — инициализированный экземпляр SDK, см. руководство по началу работы
import type { B24Frame } from '@bitrix24/b24jssdk'

declare const $b24: B24Frame

await $b24.placement.bindEvent('CallCard::CallStateChanged', (callState: string) => {
  console.log(callState)
})
```

### JS (UMD)

```html
<!-- Загрузка SDK в UMD-сборке, глобальный объект B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
  document.addEventListener('DOMContentLoaded', async () => {
    const $b24 = await B24Js.initializeB24Frame()

    await $b24.placement.bindEvent('CallCard::CallStateChanged', (callState) => {
      console.log(callState)
    })
  })
</script>
```

Оригинал в официальной документации: https://apidocs.bitrix24.ru/api-reference/widgets/ui-interaction/bx24-placement-bind-event.html
