metrs.web написал: Проблема актуальна. Пробую разные подходы решения, но ничего не срабатывает. Нужно было кастомизировать форму оформления заказа, были написаны скрипты, но при срабатывании валидации, скрипты не работают.
Разговор не о чем... Покажите код, где что пишите...
Нужен проект или доработка? Пиши в личку, я всегда на связи! Скайп - sangro0307
sinner3d написал: У меня тоже проблема с jquery, после установки всех последних обновлений перестала работа. Раньше помогало подключением ее первой в шаблоне.
Как вы подключаете в шаблоне сайта js ? Посмотрите выше я писал пример кода как нужно. Jquery стоит писать только в файле template.php
Нужен проект или доработка? Пиши в личку, я всегда на связи! Скайп - sangro0307
Подключите файлы так как я показал на скринах (очередность) и второй момент js будет работать только в файле template.php . по этому если у Вас используются события то пишите их через функцию on();
Приведу пример
Код
$(document).on("click", '.name-class', function(){
alert('Ты меня нажал');
});
Нужен проект или доработка? Пиши в личку, я всегда на связи! Скайп - sangro0307
В битриксе стандартные шаблоны компонентов работают с BX-библиотекой. В то время как в шаблоне сайта чаще всего используется распространенный JQuery.
Распространенная проблема: после ajax-запроса не работают события на динамически загруженных элементах. Например:
Код
$('.selector').click(function () {
//действия
});
Самое простое решение проблемы — использовать метод on
$("body").on('click', '.selector',function(){
//действия
});
Такой обработчик будет работать и для вновь загруженных объектов вне зависимости от того, загружен он через jquery.ajax или BX.ajax.
Код
Рассмотрим еще один вариант. Например, Вы на странице одношагового оформления заказа используете jQuery Form Styler для стилизации форм или Datepicker для выбора даты. Эти плагины инициализируются после загрузки страницы
$(function() {
$('select').styler({
selectSearch: true
});
$( ".date" ).datepicker();
});
Все прекрасно работает, пока не происходит ajax-запрос и перезагрузка формы.
Что делать? Ловить глобальное событие ajaxComplete бесполезно, так как здесь работает BX-библиотека. Поэтому воспользуемся методом BX.addCustomEvent
BX.addCustomEvent('onAjaxSuccess', function(){
$(function() {
$('select').styler({
selectSearch: true
});
$( ".date" ).datepicker();
});
});
Этот код сработает после аякс-запроса BX.