Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2013, 22:27
Новичок на форуме
Отправить личное сообщение для erlcat Посмотреть профиль Найти все сообщения от erlcat
 
Регистрация: 02.03.2013
Сообщений: 2

Проблемы с div обновлённым через (#id).load
Всем доброго времени суток.

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

Имеется на страничке div, который требуется обновлять по клику на кнопку\ссылку, а именно - подгружать в него содержимое файла (page_content.php, например).

Реализую это так:
<a href="#" onclick="$('#content').load('content_variant/bd_tp.php');">


Соответственно, содержимое div c id=content действительно обновляется, однако для него как бы не существует следующая строка:
<script type="text/javascript" src="js/global.js"></script>
, которая расположена в начале страницы (корневой), содержащей этот div.

Если прописать
<script type="text/javascript" src="js/global.js"></script>
непосредственно и в файле bd_tp.php (а его мы подгружаем в div), то в самом div всё работает как надо... но вот для элементов, расположенных вне этого div на корневой странице, все обработчики событий начинают выполняться два раза.

Как загрузить в div содержимое файла (результат выполнения php-скрипта) так, чтобы для нового содержимого также работало то, что определяет <script type="text/javascript" src="js/global.js"></script>
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2013, 22:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от erlcat
что определяет <script type="text/javascript" src="js/global.js"></script>
Ну Вариант в лоб - после каждой подгрузки, заменять src= в скрипте , а по уму заменить в скрипте обработку по событиям на делегирование событий
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2013, 23:19
Новичок на форуме
Отправить личное сообщение для erlcat Посмотреть профиль Найти все сообщения от erlcat
 
Регистрация: 02.03.2013
Сообщений: 2

Deff, спасибо за ответ.

Проблема в том, что в подгружаемом содержимом div'a нет скриптов. Вообще нет. Нечего заменять.
Там есть <td><tr>... определённых классов, стилей... Я полный чайник в html,css и javaScript, но понимаю так: при загрузке первоначальной страницы, пробегаемся по всем элементам определённых классов и навешиваем на них определённые скрипты\обработчики. Соответственно, при обновлении содержимого div, для него, содержимого, этот пробег не осуществляется.

А можно подробнее про первый вариант, с src?
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2013, 23:25
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от erlcat
Проблема в том, что в подгружаемом содержимом div'a нет скриптов. Вообще нет. Нечего заменять.
<script type="text/javascript" src="js/global.js"></script>
Заменять src в подгружаемом скрипте, тогда скрипт перезапускается
Поскольку кеширование, то перезапуск скрипта идёт без повторной подгрузки

Последний раз редактировалось Deff, 02.03.2013 в 23:44.
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2013, 03:41
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Deff, так ведь это аналогично этому:
Сообщение от erlcat
Если прописать
<script type="text/javascript" src="js/global.js"></script>
непосредственно и в файле bd_tp.php (а его мы подгружаем в div), то в самом div всё работает как надо... но вот для элементов, расположенных вне этого div на корневой странице, все обработчики событий начинают выполняться два раза.
Так что не вариант.

erlcat, вам однозначно придется модифицировать файл global.js, он был не расчитан на ajax-подгрузку.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка информации через DIV с обработкой файла на стороне сервера Azartno jQuery 1 26.05.2012 15:07
Послать форму загруженную через ajax в div используя ajax ncux jQuery 2 16.08.2010 17:36
Не могу обратиться к элементам div, после того как они получены через $.ajax igsavenko jQuery 1 31.05.2010 17:53
Не получается загрузить баннер в раздел DIV методами Javascript через iframe ((( autobuh Общие вопросы Javascript 3 24.07.2009 19:24
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37