Есть on который слушает нажатия кнопок и изменение хеша в браузере. Поскольку при нажатии меняется и хеш выполняется другая функция. Как можно проверять если не нажата кнопка то выполнять только второй on?
Что я эти делаю? Первый on получает содержимое страницы при нажатии кнопки, а второй нужен для истории, если человек вернулся назад обработать и загрузить прошлое содержимое, в данном же случае выполняется 2 get запроса, от чего надо уйти.
$('body').on('click', 'a#ajax', function(){
flag = false;
var hash = $(this).attr('href').substr(1);
window.location.href = '#' + hash.substr(0, hash.length - 1)
setTimeout(function() {
$('.content-wrapper').empty();
$.get('/' + hash, function(html){
var doc = $(html);
$('.content-wrapper').html(doc.find('.content-wrapper > *'));
});
}, 200);
return false;
});
$(window).on('hashchange', function() {
var hash = window.location.hash.substr(1);
//window.location.href = '#' + hash.substr(0, hash.length - 1)
setTimeout(function() {
$('.content-wrapper').empty();
$.get('/' + hash, function(html){
var doc = $(html);
$('.content-wrapper').html(doc.find('.content-wrapper > *'));
});
}, 200);
});