Введение
Введение
В данном разделе представлено описание 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(); }); });
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.