Я занимаюсь модными вещами в формате ajaxy dhtml с кешированием. После того как я загрузил ajax-страницу, представляющую интерес, я храню содержимое в массиве переменных
HistoryCache[url].load(url, handleRSX);
(эта часть отлично работает)
После этого я выполняю фиксатор ссылок:
$('a', HistoryCache[url]).click(...)
Где ...
- это код, который преобразует обычную ссылку в мой вызов ajaxy.
После того, как все это сделано, мне нужно .append()
моего нового контента в div
, который специально создан для хранения нового материала. До добавления I .remove()
все содержимое было раньше.
Проблема : Когда запрошенный URL находится в моем HistoryCache
, я не .load()
его и не исправляю ссылки через .click()
. Я просто беру содержимое в кеш и кладу в свой держатель. На данный момент ссылки не фиксированы и фактически заменяют браузер на нужную ссылку, а не вызывают мою функцию.
Вопрос : Почему .click()
не остается в массиве сохраненного кэша после того, как он был .removed()
и повторно .append()
ed?
Забыл упомянуть, что я решил эту проблему, изменив переопределение клика на собственный HTML-код this.onclick = function...
вместо $(this).click(function(){});