0
我有这个问题,当我点击锚,该页面重新加载,这是我想避免,即使我使用pushstate:true
BackboneJS pushState的防止页面重载
所以,我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
是否有任何解决这个?
当我在'if'语句之前加上'evt.preventDefault()'也不会帮助!?: -/ – Steve 2014-09-25 12:49:01
不确定你的意思是没有帮助,但是在'if'' evt之前.preventDefault()'实际上可以防止任何链接像链接一样工作,即不会将您带到链接页面,如果您使用javascript处理该操作,则这就是您想要的。您链接到的答案实际上也很棒,它还检查链接是否是外部链接,并且只阻止链接加载内部链接。 – Yura 2014-09-25 14:12:56
'evt.preventDefault()'的基础知识:http://jsfiddle.net/yuraji/mesdtnpq/ – Yura 2014-09-25 14:16:25