overlay.onclick = function(e){
e.preventDefault();
window.location.hash = 'overlay';
var close = function(){
//do some stuff
window.removeEventListener('hashchange', close);
}
window.addEventListener('hashchange', close, false);
}
基本的に、リンクをクリックするとすぐにハッシュが更新され、close 関数が呼び出されます。close 関数は、ハッシュが変更されるまでバインドしないでください。リスナーが追加されるとすぐに関数が呼び出されるのはなぜですか?close
また、それを防ぐにはどうすればよいですか? 最新バージョンの Chrome でテストしています。