Just define your function before binding the event, in this way:
function handleStateChange() {
alert("State changed...");
}
History.Adapter.bind(window, 'statechange', handleStateChange);
$('nav a').on('click',function(e) {
var target = $(this).attr('href');
History.pushState(null, null, target);
});
Or much better as I like usually to do, define the function inside the bind, of course if you don't need to use the same function later in the script.
History.Adapter.bind(window, 'statechange', function() {
alert("State changed...");
});
$('nav a').on('click',function(e) {
var target = $(this).attr('href');
History.pushState(null, null, target);
});