$(document).ready(function() { // Bind a callback that executes when document.location.hash changes. $(window).bind( "hashchange", function(e) { var url = Object.extended($.bbq.getState()).keys(); if(url.length==1){ url = url[0]; }else{ return; } // url action mapping if(url.has(/^\/users$/)){ showUserList(); } else if (url.has(/^\/users\/\d+$/)){ // matching /users/1234 showUser(url) } // add more routes }); });