@Rocketdock

Как заставить выполнять скрипты toLoad?

Использую код для подгрузки контента:
$(document).ready(function() {

     $('a').click(function(){

     var toLoad = $(this).attr('href')+' #contant-main';
     $('#contant-main').hide('fast',loadContent);
     $('#load').remove();
     $('#wrapper').append('<span id="load">LOADING...</span>');
     $('#load').fadeIn('normal');
     function loadContent() {
     $('#contant-main').load(toLoad,'',showNewContent())
     }
     function showNewContent() {
     $('#contant-main').show('normal',hideLoader());
     }
     function hideLoader() {
     $('#load').fadeOut('normal');
     }
     return false;

     });
    });

Все идеально отрабатывает, но есть одно НО. Скрипты что имеются в подгруженных страницах не выполняются, javascript, ajax, jquery вообще ничего. Какие изменения требуется внести в код чтобы скрипты работали?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 2
WStanley
@WStanley
Back-end Developer
Alex Rave, а ну смотрите. Вы вешаете событие на элемент
$('a').click
Но, если вы этот элемент удаляете то и событие уходит с ним.
Возможно вам подойдет вариант добавление события на динамические элементы
$(document).ready(function() {
    $('.element').on('click', 'a', function(e){
        // .element - родительский общий элемент
        // ваши действия
    });
});

ссылка
Либо вам надо заново вешать события на созданные элементы
Ответ написан
sashabeep
@sashabeep
Дней без вопросов про Slick на тостере : 0
Вынесите все скрипты в один общий файл. Инициализацию пропишите на несуществующие элементы как в комментарии выше.

Скорее всего, стоит написать условия, которые будут что-то включать в загруженном контенте при успешной загрузке в блок.
Ответ написан
Ваш ответ на вопрос

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

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