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

js библиотека

Введение

В данном разделе представлено описание Javascript-библиотеки Bitrix Framework

Документация по данной библиотеке предполагает уверенные знания разработчика в JavaScript.

Javascript-библиотека Битрикс очень разнообразна. Основным (главным) классом является класс BX. Также к услугам разработчика представлено достаточно большое количество расширений. Например, расширение по работе с датами. К сожалению, не все расширения описаны в документации, но мы постоянно работаем над этим и количество описанных расширений растет.

Для подключения библиотеки предусмотрен серверный метод

CJSCore::Init (
       [array $arExtensions]
)

Метод подключает ядро, стили и языковые сообщения библиотеки.

Параметры функции

Параметр Описание
$arExtensions Массив требуемых расширений библиотеки. Необязательный.

К примеру, код подключения ядра и двух расширений:

CJSCore::Init(array('ajax', 'window')) 

Использование своего кода

JavaScript-код пишется в отдельном js-файле шаблона сайта, js-файле шаблона компонента, или отдельно расположенном js-файле, подключаемом программно (подробнее о подключении JS-кода можно прочитать в курсе). Любой код с использованием библиотеки должен быть расположен внутри метода BX.ready(). К примеру:

BX.ready(function(){
	//здесь ваш код
});

Это позволит запуститься вашему коду только когда DOM-структура будет полностью загружена и сформирована.

Для дальнейшей простой работы с BX надо уяснить для себя два простых правила:

  • Все методы библиотеки работают только с конкретным элементом DOM-структуры. При работе в других фреймворках вы привыкли задавать селектор, и с возвращаемыми объектами сразу производить какие-то действия (к примеру, $(‘input).remove()). В BX такого нет, в BX нужно сначала получить элемент, или массив элементов, и произвести действие с каждым отдельно. Ссылка на конкретный элемент DOM-структуры можно получить методом BX(‘атрибут id DOM-элемента’);
  • Большинство методов работает по парному принципу - первым параметром идет элемент, вторым (и далее) параметром - некие данные, которые применяются к указанному элементу (к примеру, BX.setOpacity). Оставшаяся часть методов работает по формату BX.метод(элемент) (к примеру, BX.focus).

В качестве закрепления информации приведем код для удаления всех тегов input в административной части сайта:

BX.ready(function(){
    var fields = BX.findChild(BX('bx-admin-prefix'), {tag: 'input'}, true, true);
    fields.forEach(function(element){
        BX(element).remove();
    }); 
});

См. также



Пользовательские комментарии

Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
© «Битрикс», 2001-2017, «1C-Битрикс», 2017