<script> function link(node) { function onClick(event) { event.preventDefault(); history.pushState(null, null, event.target.href); } node.addEventListener('click', onClick); return { destroy() { node.removeEventListener('click', onClick); } } } </script> <a href="#" use:link>Test</a>