Разбираюсь с history api, нашел примерчик на просторах родного интернета
<div class="container">
<ul class="nav">
<li><a href="index.html" class="historyAPI">Главная</a></li>
<li><a href="about.html" class="historyAPI">О нас</a></li>
<li><a href="contact.html" class="historyAPI">Контакты</a></li>
</ul>
<div>
Нажмите на ссылки выше, чтобы использовать метод <strong>pushState</strong>.
<div class="jumbotron" id="contentHolder">
<h1>Главная!</h1>
<p>Здесь какой-то текст главной страницы.</p>
</div>
</div>
</div>
$('document').ready(function(){
$('.historyAPI').on('click', function(e){
// отменяем стандартное действие при клике
e.preventDefault();
// Получаем адрес страницы
var href = $(this).attr('href');
// Передаем адрес страницы в функцию
getContent(href, true);
});
});
// Добавляем обработчик события popstate,
// происходящего при нажатии на кнопку назад/вперед в браузере
window.addEventListener("popstate", function(e) {
// Передаем текущий URL
getContent(location.pathname, false);
});
// Функция загрузки контента
function getContent(url, addEntry) {
$.get(url).done(function(data) {
// Обновление только текстового содержимого в сером блоке
$('#contentHolder').html($(data).find("#contentHolder").html());
// Если был выполнен клик в меню - добавляем запись в стек истории сеанса
// Если была нажата кнопка назад/вперед, добавлять записи в историю не надо
if(addEntry == true) {
// Добавляем запись в историю, используя pushState
history.pushState(null, null, url);
}
});
}
Код работает, контент загружается, но в контенте который был загружен без перезагрузки не работает js код по отношению к загруженым элементам, если перезагрузить страницу то он работает с удовольствием, в чем может быть проблема?