Почему не работает jquery в скрипте шаблона компонента в Битриксе?
Добрый день!
Хотел доработать форму добавления элемента в инфоблок Битрикс с помощью кастомных скриптов.
Для этих целей использовал файл script.js в шаблоне компонента. И выяснилось, что в script.js работает только чистый javascript. При попытке писать что либо на jquery в консоли выдается ошибка ReferenceError: $ is not defined.
Jquery на сайте есть, если вставлять код в страницу, он работает.
Почему внутри компонента Jquery функции не определяются, и как это исправить?
А как вы подключили jQuery в шапке? Такие ошибки зачастую из за того что не используют api bitrix для подключения скриптов и стилей.
Попробуйте подключить свои js библиотеки через addJs
use Bitrix\Main\Page\Asset;
Asset::getInstance()->addJs(SITE_TEMPLATE_PATH . "/js/jquery.js");
Возможно вы подключили жиквери в самом низу страницы, а те скрипты где пишите вы подключатся в верхней части страницы. Либо вы забываете заключать свой код в документ реди.
Нет, jquery стоит вверху страницы.
Попробовал подключить jquery в компонент таким образом, заработало.
Но почему только так работает, непонятно. Это какие-то особенности компонентов Битрикса?
Ilya1791: Нет никаких особенностей, все обычно. Если жиквери не видно в вашем скрипте, значит он поключается после ShowHead() или аналогичных конструкций