#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.