@KTG

У меня jquery конфликтует с другими библиотеками, как исправить (Битрикс)?

В общем хочу в шаблоне компонента form.reslut.new добавить маски ввода.
Для этого создал папку js в теле шаблона и закинул туда jquery.maskedinput.min.js
Подключаю в template.php таким образом:
CJSCore::Init(array("jquery"));
 $APPLICATION->AddHeadString("<script src='".$this->__folder."/js/jquery.maskedinput.min.js'></script>", true);

Туда же добавляю обработчик маски.
<script>
	$(function()
		{
			$('input[data-type="phone"]').mask("(999)999 99 99");
		});	
</script>

Консоль возвращает ошибку:
$(...).mask is not a function

Узнал что это из-за конфликта с другими подключенными библиотеками.
Собственно с тем же jquery.
Нарыл что нужно прописать строку разрешения конфликта, и задать алиас для своей функции. НО:
Если пишу так
$.noConfliсt() - отваливается один плагин (jquery.lightboxcustom). Начинает ругаться на какую-то свою функцию, что она вовсе не функция.
Пишу так:
$.noConfliсt(true) - отваливается другой плагин (jquery.tabs).
Создание алиаса то же не помогает.
var tmp = $.noConflict()

Где используются другие библиотеки - я не знаю, может в заголовках или подвалах основной темы.
В общем есть какой-то вариант что бы все библиотеки работали?
  • Вопрос задан
  • 318 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ocatoll
Может быть ваш скрипт $('input[data-type="phone"]').mask("(999)999 99 99");
запускается раньше, чем подключается jquery.maskedinput.min.js? Так же проверьте, что jquery.maskedinput.min.js вообще подключается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы