Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 30.05.2016
Сообщений: 4
1

Как заставить jquery-скрипт работать при перезагрузке контента AJAX-ом?

30.05.2016, 10:30. Просмотров 1898. Ответов 8
Метки нет (Все метки)


Добрый день! Вопрос следующий. У меня есть скрипт JQuery, который добавляет определенный код после каждого 4-го div таким вот образом:.

Javascript
1
$("mycode").insertAfter(".myClass:nth-child(4n)");
Но также div.myClass на этой странице перегружаются с помощью AJAX, и после такой перезагрузки скрипт не работает. Работать он начинает только при обновлении страницы.

Вопрос: как написать код таким образом, чтобы он работал и после перезагрузки на AJAX? И можно ли это сделать, только правя мой код jQuery, но не влезая в AJAX, т.к. на сайте работает стороннее расширение, в которое влезать очень не хочется?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2016, 10:30
Ответы с готовыми решениями:

AJAX - при смене контента в div перестает работать JS
Делаю ajax запрос и меняю контент в <div> но почему то там перестает работать JS, весь JS я...

После обновления контента <div> через AJAX перестают работать события данного контента
Здравствуйте. Есть проблемка такого характера. На сайте выбирается студент и в поля ввода читаются...

Как заставить работать jquery без перезагрузки страницы
Здравствуйте. Использую jquery во view для изменения стиля страницы, но js начинает работает только...

Как заставить скрипт работать?
Пытаюсь разобраться в основах JS и JQ, но даже азы даются с трудом. Как заставить данный код...

8
Богатый духовно
455 / 262 / 145
Регистрация: 10.03.2015
Сообщений: 1,058
30.05.2016, 12:14 2
Может быть сделать перезагрузку страницы в месте с перезагрузкой AJAX.

Не по теме:

пальцем в небо

0
1272 / 855 / 472
Регистрация: 23.08.2015
Сообщений: 2,281
30.05.2016, 12:40 3
Kiskenbassker, Покажите ваш код jquery
0
887 / 722 / 447
Регистрация: 13.07.2015
Сообщений: 2,248
30.05.2016, 14:14 4
да интересно. в простом примерчике у меня вствляется без проблем

Javascript
1
2
3
4
5
6
7
8
9
10
11
<div id="main"></div>
<input type="button" id="btn_ins" value="ins">
<script>
$(document).ready(function() {
    for(var i=1; i<=20; i++) $('#main').append('<div class="myClass">div #'+i+'</div>');
  });
  
$('#btn_ins').click(function(){
    $("<div>inserted!</div>").insertAfter(".myClass:nth-child(4n)");
})
</script>
можно попробовать перед вставкой так сделать:

Javascript
1
console.log($(".myClass:nth-child(4n)").length);
и посмотреть сколько вообще элементов он находит, а то может и не одного
0
0 / 0 / 0
Регистрация: 30.05.2016
Сообщений: 4
30.05.2016, 16:37  [ТС] 5
Уф, я имел в виду, что не вставляется после перезагрузки AJAX-ом. После обычной загрузки или перезагрузки страницы все работает.

sad67man, код был указан выше. На всякий случай повторяю:

Javascript
1
$("mycode").insertAfter(".myClass:nth-child(4n)");
0
1272 / 855 / 472
Регистрация: 23.08.2015
Сообщений: 2,281
30.05.2016, 19:27 6
Kiskenbassker, Меня интересует при каком событии выполняется этот код.
0
0 / 0 / 0
Регистрация: 30.05.2016
Сообщений: 4
30.05.2016, 19:36  [ТС] 7
sad67man, ни при каком. Если не считать $(document).ready();
0
1272 / 855 / 472
Регистрация: 23.08.2015
Сообщений: 2,281
30.05.2016, 20:38 8
Kiskenbassker, ваш скрипт срабатывает один раз при загрузки страницы. Если вы хотите, чтоб он срабатывал еще и при перезагрузки блока, нужно вызывать его еще раз в ajax-е. Если уж так не хотите туда лезть то можно потанцевать с бубном. К примеру отловить событие изменения содержимого блока div.myClass.
Javascript
1
2
3
4
5
6
7
8
$(document).ready(function(){
  document.body.addEventListener("DOMNodeInserted",function(e){ 
    if($(e.relatedNode).hasClass("myClass")){
      alert(123)
        //ваш код
    }
  },false);
});
Добавлено через 5 минут
Хотя такой вариант не подойдет, так как он будет срабатывать при каждом добавлении элемента. Но нужно подумать, к какому событию привязать.
1
0 / 0 / 0
Регистрация: 30.05.2016
Сообщений: 4
30.05.2016, 20:43  [ТС] 9
sad67man, спасибо за ответ, я пока нашел для этой задачи другое решение, со скриптами не связанное.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2016, 20:43

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Как заставить работать скрипт
Добрый день! Имеется скрипт проверки совместимости версии iOS для репозитория Cydia. const...

как заставить скрипт работать в Wordpress?
Имеется Вордпресс. Есть код, есть скрипт. Работу видно здесь. При выборе из первого селекта, во...

Как заставить скрипт работать с ssmtp?
подскажите, как заставить скрипт работать под ssmtp? суть в том, на сколько я понял, он должен...

Как заставить этот код работать без перезагрузки страницы (ajax)
Здравствуйте. Вопрос такой - есть страница table.html в неё подключается table.php с помощью...

Как заставить этот скрипт работать на постоянной основе?
Ниже приведенный код, если его использовать в консоли google chrome, позволяет сделать кнопку...

Как заставить скрипт работать долго? (Обойти таймаут)
На каждом хостинге есть таймаут. И не зависимо от того успел скрипт выполница или нет он убивается....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.