Вот такой вот, казалось бы, легкий вопрос.
Пока остановился на чем-то таком, но мне кажется это быдлокодом
addEventListener('click', function(event) {
  if (event.target instanceof HTMLAnchorElement) {
    location.hash = event.target.hash;
    event.preventDefault();
  }
});