BackboneJS PushState可防止页面重新加载

时间:2014-09-25 10:13:42

标签: javascript jquery node.js backbone.js handlebars.js

我有这个问题,当我点击锚点时,页面会重新加载,即使我正在使用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 - 但没有成功。

我正在使用BackboneJSNodeJSHandlebarsJS

有没有解决方案?

1 个答案:

答案 0 :(得分:0)

pushState: true与单击链接时阻止加载整页无关,它只是一种更新浏览器地址栏中URL地址的方法。它应该阻止链接的默认行为evt.preventDefault()

您提供的代码非常有选择性地应用evt.preventDefault(),根据您的代码,不会以#开头工作的链接就像通常期望链接一样工作 - 加载重新开始。

相关问题