如何在关闭对话框时禁用 backbone.js 添加 /#
How to disable backbone.js from adding /# when dialog is closed
当我加载 backbone 页面并按下后退按钮时,它会将 /# 添加到 url。如果我再次单击返回,它会从 rails 主视图加载空索引页。我通过关闭 turbolinks 解决了这个问题。
但是,当我打开任何 foundation.js 对话框时,它还会将相同的 /# 附加到 url。现在,当我返回而不是转到上一页时,它会再次加载空 rails 主页而不是加载 backbone 页面。
如何防止 backbone 添加此 /# 哈希。
我的 rails 索引页是:
<div class="containing_div"><div>
<%= javascript_tag do -%>
(function () {
MyApp.initialize();
})();
<% end -%>
我的初始化函数是:
initialize: function(){
this.private.biography = new MyApp.Models.BiographyModel();
this.private.purposeModel = new MyApp.Models.PurposeModel();
new MyApp.Routers.Welcome();
if(!Backbone.History.started){
Backbone.history.start();
}
this.initializeData();
}
我的路由器是:
MyApp.Routers.Welcome = Support.SwappingRouter.extend({
initialize: function(options){
this.el = $('div.containing_div');
},
routes: {
"": "index"
},
index: function(){
var view = new MyApp.Views.WelcomeIndex();
this.swap(view);
}
})
这就是我关闭模式的方式:
$('#profileModal').foundation('reveal', 'close', {
animation: 'none'
});
我猜想为了 open/close 您正在使用模态,这是切换到 /# 的默认浏览器行为。您要么应该使用常规(顺便说一句,可以在 之外使用),要么在单击 .
时禁用事件传播
当我加载 backbone 页面并按下后退按钮时,它会将 /# 添加到 url。如果我再次单击返回,它会从 rails 主视图加载空索引页。我通过关闭 turbolinks 解决了这个问题。
但是,当我打开任何 foundation.js 对话框时,它还会将相同的 /# 附加到 url。现在,当我返回而不是转到上一页时,它会再次加载空 rails 主页而不是加载 backbone 页面。
如何防止 backbone 添加此 /# 哈希。
我的 rails 索引页是:
<div class="containing_div"><div>
<%= javascript_tag do -%>
(function () {
MyApp.initialize();
})();
<% end -%>
我的初始化函数是:
initialize: function(){
this.private.biography = new MyApp.Models.BiographyModel();
this.private.purposeModel = new MyApp.Models.PurposeModel();
new MyApp.Routers.Welcome();
if(!Backbone.History.started){
Backbone.history.start();
}
this.initializeData();
}
我的路由器是:
MyApp.Routers.Welcome = Support.SwappingRouter.extend({
initialize: function(options){
this.el = $('div.containing_div');
},
routes: {
"": "index"
},
index: function(){
var view = new MyApp.Views.WelcomeIndex();
this.swap(view);
}
})
这就是我关闭模式的方式:
$('#profileModal').foundation('reveal', 'close', {
animation: 'none'
});
我猜想为了 open/close 您正在使用模态,这是切换到 /# 的默认浏览器行为。您要么应该使用常规(顺便说一句,可以在 之外使用),要么在单击 .
时禁用事件传播