我有这个问题,当我点击锚点时,页面会重新加载,即使我正在使用pushstate:true
所以,在我的main.js中,我有:
Backbone.history.start({ pushState: true, root: App.ROOT });
$(document).on('click', 'a:not([data-bypass])', function (evt) {
var href = $(this).attr('href');
if (href && href.indexOf('#') === 0) {
evt.preventDefault();
Backbone.history.navigate(href, true);
}
});
所以,我试着改变它,就像这里提到的那样Preventing full page reload on Backbone pushState - 但没有成功。
我正在使用BackboneJS
,NodeJS
和HandlebarsJS
有没有解决方案?
答案 0 :(得分:0)
pushState: true
与单击链接时阻止加载整页无关,它只是一种更新浏览器地址栏中URL地址的方法。它应该阻止链接的默认行为evt.preventDefault()
。
您提供的代码非常有选择性地应用evt.preventDefault()
,根据您的代码,不会以#
开头工作的链接就像通常期望链接一样工作 - 加载重新开始。