#jquery #html5
На сайте ajax навигация: var nav = { go: function(url) { ... $.get(url, function(data) { $('#page').html(data); }); ... } } test Вот например на странице /test перед
размещаю: $(window).bind('popstate', function() { alert(1); }); И переходя на неё через nav.go(), а после, нажимаю кнопку "Назад", почему-то выскакивает 2 alert(1), хотя должен выскакивать 1. Третий час не могу понять в чём проблема?
Ответ 1
Можно наверное добавить не анонимный обработчик как то так: ... var Handlers = {}; Handlers.popstate = null; ... if(!Handlers.popstate) { Handlers.popstate = function(){alert(1);} $(window).bind('popstate',Handlers.popstate); } ... Хотя, по идее должна быть проверка средствами jquery на наличие уже привязанного евента, но ща не помню её :-)Ответ 2
Зачем чудо-велосипед, когда есть pathjs, который ещё и строку url установит, и у которого есть откат на хештеги, если браузер не поддерживает pushState?
Комментариев нет:
Отправить комментарий