为了避免在编程时设置URL哈希(#)(与手动更改URL相反) 时出现反馈循环,我想暂时禁用hashChange监听器。
当使用$.bbq.pushState(hash)更新哈希时,我该如何更改此代码以实际禁用hashchange事件?(下面的代码无效)
当使用$.bbq.pushState(hash)更新哈希时,我该如何更改此代码以实际禁用hashchange事件?(下面的代码无效)
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;
},