Помогите разобраться.
Есть
div id="layer"
В нем находится контент, например кнопка id="btn"
Вешаем событие на кнопку, к примеру
$('#layer').on('click', '#btn', function() {
alert('click');
});
Теперь отправляем содержимое layer в кэш:
var cache = $('#layer').html();
Чистим содержимое layer
$('#layer').empty();
Теперь бросаем новый контент в layer, выполняем над ним различные действия.
Но вот нам понадобилось восстановить кэш:
$('#layer').html( cache );
Но вот незадача, событие click не срабатывает.
Растолкуйте, что происходит и как решить проблему?
Каждый раз при очистке layer, связи рвутся и нужно вешать события заново (после восстановления кэша)? Или события сохраняются и постепенно захламляют память?
Примечание:
С обработчиками все ясно, но снова проблема, при клонировании / копировании теряются ссылки через переменные:
var $box = $('#layer').find('div.box');
$box.html('--test--');
// ...
// Дальнейшие манипуляции, очистка слоя и восстановления содержимого слоя через кэш.
// ...
Теперь
$box.html('--test2--');
не срабатывает.
Помогите с этой проблемой.
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.