Реклама на сайте Advertise with us

AJAX не выполняется JavaScript

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 11/07/15 в 21:02       Ответить с цитатойцитата 

Загружаемый через AJAX Load фрагмент содержит элементы, которые должны обрабатываться через JavaScript. Но скрипт не работает, где бы он ни находился. В принципе это ожидаемо, но как его заставить работать? Надо его как-то переинициализировать после отработки AJAX запроса.

Нашел такой код:

Код:
$.ajaxSetup({
    complete: function(){
        $("your_selector").tooltip();
    }
});

Но не понял как им пользоваться. Что понимается под "your_selector"?

Кто как решает эту проблему?

Последний раз редактировалось: EagleOwl (12/07/15 в 01:43), всего редактировалось 1 раз

0
 

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 11/07/15 в 21:29       Ответить с цитатойцитата 

---

0
 



С нами с 09.08.12
Сообщения: 185
Рейтинг: 378

Ссылка на сообщениеДобавлено: 12/07/15 в 08:55       Ответить с цитатойцитата 

что то намутил. зачем setup

$.get(тут урл).then(function (data) {

тут код который отработает после загрузки блока

your_selector - это например класс подгружаемой менюшки '.menu'


например

$('#menu').html(data); // вставили меню в <div id="menu"></div>
$('.menu li').tooltip(); // инициализировали тултипы на пункты
});

5
 

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 13/07/15 в 04:01       Ответить с цитатойцитата 

Вот тут дело все в том, что подгружается просто таблица. Никаких классов ей не присвоено. А скрипт - обработчик кликов по таблице - подсветка строк, столбцов и тому подобное.

Я его тут приведу под катом т.к. он довольно большой, но там видно как он инициализируется в нормальных условиях.
Код: [развернуть]

0
 



С нами с 18.03.09
Сообщения: 592
Рейтинг: 374

Ссылка на сообщениеДобавлено: 13/07/15 в 11:47       Ответить с цитатойцитата 

Код: [развернуть]


Попробуй так

5
 

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 13/07/15 в 17:03       Ответить с цитатойцитата 

Увы, не хочет так работать.

0
 



С нами с 19.04.05
Сообщения: 1577
Рейтинг: 957

Ссылка на сообщениеДобавлено: 13/07/15 в 17:26       Ответить с цитатойцитата 

1. а jQuery подключен?
Код: [развернуть]



2. поставил ли скрип в теги
Код: [развернуть]


3. Вставил ли <div id="your_selector"></div> в код страницы. Где хочешь выводить результат.
и в скрипте решетку "#your_selector"

Link Trade - блоги в Art,Comics,Hentai,3D и тп - 338198557

5
 

💀💀💀

С нами с 31.05.10
Сообщения: 4689
Рейтинг: 728

Ссылка на сообщениеДобавлено: 13/07/15 в 19:10       Ответить с цитатойцитата 

js и аякс в частности работают с утф8 только. Проверь кодировку получаемых страниц.

5
 



С нами с 25.08.08
Сообщения: 18746
Рейтинг: 1251


Передовик Master-X (01.07.2020) Передовик Master-X (16.07.2020)
Ссылка на сообщениеДобавлено: 13/07/15 в 19:17       Ответить с цитатойцитата 

eval

5
 

Считаю до трех

С нами с 23.03.05
Сообщения: 12353
Рейтинг: 2918

Ссылка на сообщениеДобавлено: 14/07/15 в 00:06       Ответить с цитатойцитата 

Retox:, Ailk: - подгрузка страниц у меня работает четко, так что про библиотеки и кодировку тут рассуждать уже не нужно. Тут вопрос не в этом.
Magistrator: А как применить?

Еще раз - для элементов на загруженных страницах не работают JavaScript обработчики, т.к. эти элементы появились уже после того, как скрипт отработал. Нужно произвести переинициализацию JavaScript.

0
 



С нами с 06.07.15
Сообщения: 110
Рейтинг: 171

Ссылка на сообщениеДобавлено: 01/08/15 в 20:52       Ответить с цитатойцитата 

EagleOwl писал:
эти элементы появились уже после того, как скрипт отработал. Нужно произвести переинициализацию JavaScript.


Для этого применяется реакция на событие родительского контейнера, с уточняющим селектором.

Код:

$(document).on('click', '#селектор элемента', function(event){
   event.preventDefault();                       

   обработка события

});   

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »