Получить контекст вызова прокси-функции BX24.proxyContext

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

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

Метод BX24.proxyContext возвращает значение this, с которым вызвали прокси-функцию из BX24.proxy.

Внутри прокси-функции this заменен на объект thisObject, а исходное значение возвращает этот метод. Например, если прокси-функция обрабатывает клик по кнопке, метод вернет эту кнопку, а не объект thisObject.

Значение доступно, пока выполняется синхронная часть прокси-функции. Если оно понадобится позже, например после await или в таймере, сохраните его в переменную в начале функции.

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

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

Без параметров.

Пример кода

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

Один обработчик на две кнопки — метод показывает, какая из них нажата:

<button id="save">Сохранить</button>
<button id="cancel">Отменить</button>

<script>
    BX24.ready(function () {
        const form = {
            onClick: function () {
                const button = BX24.proxyContext();
                console.log('Нажата кнопка', button.id); // save или cancel
            }
        };

        const handler = BX24.proxy(form.onClick, form);
        BX24.bind(document.getElementById('save'), 'click', handler);
        BX24.bind(document.getElementById('cancel'), 'click', handler);
    });
</script>

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

Метод синхронно возвращает исходный this текущего вызова прокси-функции. Тип результата зависит от того, как прокси-функцию вызвали.

Возвращаемые данные

Название
тип

Описание

result
any

Исходный this вызова прокси-функции. Если она назначена обработчиком события через BX24.bind, это элемент из параметра element. Он может отличаться от event.target, если событие произошло на вложенном элементе

Например, если в примере выше нажать кнопку «Сохранить», метод вернет элемент этой кнопки:

<button id="save">Сохранить</button>

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

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

Ситуация

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

Что делать

Метод вызван вне прокси-функции

Обычно возвращает null. Исключение — после ошибки внутри прокси-функции, оно описано ниже

Вызывать метод внутри функции, переданной в BX24.proxy

Прокси-функция вызвана напрямую, например handler()

Возвращает undefined: у такого вызова нет исходного this

Назначить прокси-функцию обработчиком события или вызвать ее как метод объекта

Если прокси-функция завершилась ошибкой, библиотека не восстанавливает прежнее значение. После этого метод вне прокси-функций может возвращать this прерванного вызова, а не null. Поэтому не проверяйте результат на null, чтобы узнать, вызван ли код из прокси-функции.

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