0

當我加載我的主幹網頁並按下後退按鈕時,它會將/#添加到url中。如果我再次點擊,它會從rails home視圖加載空索引頁面。我可以通過關閉turbolink來解決這個問題。如何在關閉對話框時禁用backbone.js添加/#

但是,當我打開任何的foundation.js對話框時,它也會將相同的/#追加到url。現在,當我回到上一頁時,它再次加載空導軌主頁,而不是加載骨幹網頁。

如何防止骨幹添加這個/#哈希。

我的軌道索引頁:

<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' 
}); 

回答

1

我想,爲了打開/關閉你使用的模態,這是默認的瀏覽器行爲切換到/#。您應該使用常規(其中,btw。可以在外部使用)或禁用點擊時傳播的事件。

+0

謝謝。現在我已經能夠通過使用e.preventDefault()來解決這個問題。但我想知道是否有更好的方式(更主要的方式)來實現這一點。考慮到骨幹網非常流行,我可以使用谷歌搜索找到任何解決方案。 – user1801879

相關問題