Javascript.RU

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

Очень нужно.. Отправка HTML куски в JSON от сервера используя Ajax
Впервые столкнулся с этим вопросом. В общем стал юзать фреймвок jQuery. Выполняет аякс запросы хорошо.. Отправляю кусоки HTML в JSON формате. А т.к. JSON требует двойные кавычки, то в кусочках HTML, которые помещаю в JSON-ответ от сервера, приходится экранировать атрибуты тегов типа class='class1', одинарными кавычками в общем та. В общем картина такая:
$HTML = '<div class=\'class1\'>'


Скрипт работает, JavaScript вставляет куски HTML, все в ажуре... НО, когда стал отправлять код, события на котором перехватываются JavaScript, он не стал их перехватывать. отправляю по аякс-запросу HTML-код с ссылкой и $(document).ready(function(){, уже стоит код перехвата кликов по данной ссылке. Аякс вставляет полученный код с ссылкой, но ссылка не работает.
Перехват работает если ссылка есть в момент загрузки ВСЕЙ страницы. А если она получена через JSON массив - нифига.
Не понимаю, может перехват событий возможен тока на тех элементах DOM, которые доступны с момента загрузки всей страницы чтоли
Ответить с цитированием
  #2 (permalink)  
Старый 26.10.2010, 14:24
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от bivnikus
перехват событий возможен тока на тех элементах DOM, которые доступны с момента загрузки всей страницы чтоли
Перехват событий возможен на тех элементах, на которых вы его повесили. Если элемента на момент вешанья не существует, как на него можно повесить перехват?

Гуглите jQuery live
Ответить с цитированием
  #3 (permalink)  
Старый 26.10.2010, 14:34
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Для htm'я в качестве контейнера удобнее юзать xml с секцией CDATA
Ответить с цитированием
  #4 (permalink)  
Старый 26.10.2010, 14:52
Новичок на форуме
Отправить личное сообщение для bivnikus Посмотреть профиль Найти все сообщения от bivnikus
 
Регистрация: 26.10.2010
Сообщений: 2

Огромное спосибо, я к этому пришел 5 минут тому назад и прописал функцию развешивания перехватов после каждой вставки HTML..
Ответить с цитированием
  #5 (permalink)  
Старый 26.10.2010, 21:43
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,245

danik.js,
ваше сообщение слабо относится к данной теме.
по сути дела, вы увидели знакомое слово, и выдали случайный, и весьма сомнительный факт
Ответить с цитированием
  #6 (permalink)  
Старый 26.10.2010, 22:25
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Да что вы такое Gvozd говорите. Сам не так давно решал подобную дилему. Сначала слал с сервера json с куском html'я, но порядком надоело экранить кавычки и переносы строк. В итоге пришол к выводу что проще использовать xml, заключая весь html-код в CDATA section, нежели json. Хотя и тут может быть подвох - внутри html-я может попасться закрывающий ]]> ...
Разумеется не всегда удобно перейти с json на xml, но вариант имеется.
Так что не надо тут
Ответить с цитированием
  #7 (permalink)  
Старый 26.10.2010, 22:39
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от danik.js
но порядком надоело экранить кавычки и переносы строк.
А не надо ничего экранить, надо использовать функции для сериализации в JSON.
Ответить с цитированием
  #8 (permalink)  
Старый 26.10.2010, 22:49
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,245

Сообщение от danik.js
Да что вы такое Gvozd говорите
именно то и говорю
проблема ТС была в том, что на загруженные элементы у него не распространялись навешенные ранее события.
Эта проблема бы у него сохранилась, даже если бы он использовал XML
Ответить с цитированием
  #9 (permalink)  
Старый 26.10.2010, 22:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Дело в том что я сначала писал по теме, но меня опередил Kolyaj, пришлось все удалить что строчил, ну а чтоб небыло обидно - оставил про xml ))
Ответить с цитированием
Ответ



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

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