7
我使用jQuery BBQ插件将状态推送到location.hash。以编程方式更新散列而不触发hashchange事件?
为了防止反馈循环,我想暂时禁用hashchange侦听器,同时以编程方式设置状态。
我已经看到了这个解决方案: Change hash without triggering a hashchange event
不幸的是,它似乎并没有是完全健壮,因为它有时会触发即使我这样做:
updateURL(obj){
$(window).unbind('hashchange');
$.bbq.pushState(obj);
setTimeout(function() { bindHashChange()}, 500);
}
现在是否有一个更好的方法以编程方式推动国家?也许另一个JS库?