2012-06-25 89 views
1

我加載從模板創建的頁面動態地從路由器的功能(如看到一些教程):jQuery Mobile的Backbone.js的+:導航欄問題

changePage: function(page) { // page is a View object 
     $(page.el).attr('data-role', 'page'); 
     page.render(); 
     $('body').append($(page.el)); 
     var transition = $.mobile.defaultPageTransition; 
     if (this.firstPage) { 
      transition = 'none'; 
      this.firstPage = false; 
     } 
     $.mobile.changePage($(page.el), {changeHash:false, transition: transition}); 
    } 

的事情是,當頁面包含JQ移動導航欄,活動項目不會突出顯示。實際上,就像1毫秒,那麼它不是,我覺得這是因爲導航欄「重新加載」。 當我在同一個項目上點擊2次時,它會第二次運作。

有沒有人能夠使用jQuery Mobile和backbone.js工作navbars?

回答

0

我落得這樣做是:

var activeTab = null; 

$('[data-role=page]').live('pageshow', function (event, ui) { 
    $.each($('[data-role=navbar] ul li').children(), function (i, val) { 
     if (typeof activeTab !== "undefined" && activeTab != null && $(val).attr('id') == 'navTab' + activeTab) 
      $(val).addClass($.mobile.activeBtnClass); 
     else 
      $(val).removeClass($.mobile.activeBtnClass); 
    }); 
    activeTab = null; 
}); 

,並對需要一個激活的標籤我只是比如做每條路線:

r_search: function() { // Search page (form) 
    activeTab = "Search"; 
    this.changePage(new SearchView()); 
},