Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: JS не работает, если подгрузить аяксом
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
Перепробовал несколько разных вариантов и не могу понять, почему JS не работает, если подгрузить его аяксом? То есть если я выполняю через аджакс запрос на получение данных, то все нормально отображается, но джиквери никак не хочет работать, стили подхватываются. Меня бы пнуть в нужную сторону, почему так?
Например, вот такая страница нормально грузится отдельно и блок разворачивается на джиквери:
Но если эту страницу всю, либо только то, что в БОДИ загрузить через аякс в блок, то джиквери (т.е. тег А) не разворачивает див.
Может, кто сталкивался с этим и знает, куда копать? Подгрузку джиквери делал всяко разно - не работает.
grefon
Отправлено: 11 Января, 2011 - 01:56:46
Частый посетитель
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
Все правильно, и так и должно быть. jquery понимает подгружаемый текст через ajax как набор символов а не как разметку, по этому для него подгружаемого объекта id="check_slide_other_headers_list" не существует.
Я когда-то тоже столкнулся с такой проблемой и методом экспериментов выяснил, что если в подгружаемом контенте разместить javascript, который будет обрабатывать объекты, то все сработает. Но в этом случае нужно быть аккуратным с уникальными именами и id. И на сколько я помню ишак такой метод не воспринимает, а все остальные браузеры вроде хавают.
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
isle
Отправлено: 11 Января, 2011 - 07:22:36
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
grefon, я пробовал скрипты подгружать внутри, но они не схватываются почему-то, как с джиквери, так и без... как целую html-страницу, так и только БОДИ с ХИДЕРОМ, их вместе и по отдельности. Ох, ёлки, в чём ошибка - уже весь мозг сломал... Может, как-то экранировать нужно кавычки или что???
Вы бы не могли свой примерчик для наглядности кинуть? - я с полоборота дальше сам разберусь.
Viper
Отправлено: 11 Января, 2011 - 07:49:21
Активный участник
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
isle для обхода этого в JQ существует метод live()
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
Viper, спасибо огромное! Так работает!
Блин, даже не знал, как правильно загуглить, мозг сломал, а оно вот так просто
JustUserR
Отправлено: 12 Января, 2011 - 15:47:09
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
isle Использование возможности загруки исполняемого JS-кода в процесс исполнения основного потока обработки пользовательской HTML-страницы включает необходимость осуществления - не только контроля уровня трактования загружаемых информационных полей с предполагаемым JS-кодом в процессе изменения состояния контейнерного элемента - но и реализацию их последующей интеграции в основной поток исполняемого кода страницы В зависимости от целевого используемого браузера и модели потоков исполнения и контроля объектов в нем - возможны различные реализации предполагаемой задачи
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.