(window.onhashchange=function(){
if (window.location.hash) {
scrollBy(0, -150);
}
})()
Для пущего минимализьму можно window не писать))
Ну, а если уже очень хочется через addEventListener -
window.addEventListener('hashchange', (function fn() {
if (window.location.hash) {
scrollBy(0, -150);
}
return fn
})());
Но опять же, кто-то будет продираться через этот код - будет сильно матюкаться.. Сам когда-то таким увлекался, а потом сам продирался через эти джунгли с большим трудом, когда надо было что-то поменять..