プログラムでURLハッシュ(#)を設定するときにフィードバックループを防ぐために(URLを手動で変更するのとは対照的に)、hashChangeリスナーを一時的に無効にします。
$ .bbq.pushState(hash)を使用してハッシュを更新するときに、実際にハッシュ変更イベントを無効にするには、このコードをどのように変更すればよいですか?(以下のコードは機能しません)
hashChangeEnabled : true,
bindHashChange : function(){
var that = this;
$(window).bind( 'hashchange', function( event ) {
if(that.hashChangeEnabled == true){
stateObj = event.getState()
that.stateChangedHandler(stateObj);
}
});
},
updateURL : function(hash){
this.hashChangeEnabled = false; // <--- Look here
$.bbq.pushState(hash);
this.hashChangeEnabled = true;
},