【发布时间】:2011-09-11 13:37:33
【问题描述】:
为了防止在以编程方式设置 URL 哈希 (#) 时出现反馈循环(与手动更改 URL 相比),我想暂时禁用 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;
},
【问题讨论】:
标签: javascript jquery fragment-identifier hashchange jquery-bbq