Ajax ссылка внутри загруженного содержимого

#javascript #cakephp #cakephp-1.3

#javascript #cakephp #cakephp-1.3

Вопрос:

У меня возникла проблема с использованием ajax-> link внутри загруженного представления.

На моей индексной странице я динамически загружаю div с содержимым представления. Внутри этого представления я получил ajax-> ссылку для обновления самого содержимого.

Если я перейду к просмотру, обновление будет работать правильно. Поэтому, если попробовать в загруженном div, это не сработает.

Firebug, заметьте меня, когда я загружаю div :

 registry is undefined
     var respondersForEvent = registry.get(eventName);
  

Есть ли какое-либо решение по этому поводу?

Комментарии:

1. Что вы используете для Ajax? Обычный Javascript, jQuery, прототип и т.д.? Проблема в том, что когда содержимое загружается через ajax, оно не зарегистрировано в DOM. Вам нужно запустить функцию или каким-то образом зарегистрировать новый вызов Ajax, чтобы дерево DOM увидело, что он существует.

Ответ №1:

Обходным путем для этого было бы использовать что-то вроде функции jquery .live(), которая сделает волшебство за вас. Если это полезно и вы хотите перейти от прототипа, взгляните на этот помощник jquery.

Комментарии:

1. Привет, спасибо за ваши ответы. На самом деле я не большой эксперт по javascript, поэтому я предпочитаю кодировать через фреймворк. Поэтому я использую стандартную библиотеку (prototype) и стандартный помощник ajax. Есть ли какое-либо подобное решение с Prototype?

2. Я нашел что-то о событии #findElement ?! Я действительно не знаю, как использовать это с ajax-> link …

3. Проблема в том, как описал cdburgess. Я не думаю, что findElement будет работать, поскольку новый html не зарегистрирован в DOM. Вам нужно либо пересмотреть способ публикации данных (возможно, удалить эту конкретную функциональность ajax), либо потребуется больше работы с js.