Hooks on keydown, needed to handle shift & others, still not prevented history.back()