2013-10-25 52 views
0

我試圖通過twitter bootstrap集成的優秀腳手架插件不初始化。也就是說,感謝我的螢火檢查,我可以看到表由footable插件處理,但該行我總是想隱藏:腳手架在引導程序3不初始化

data-hide="all" 

可見。如果我改變瀏覽器的大小,那麼表格就會出現我期望它在頁面啓動時應該具備的行爲。

我試過firefox/chrome和不同的jQuery版本,但仍然一樣!

我已經採取了最簡單的腳步示例,看看發生了什麼,但沒有更多的運氣!據說footable與開箱即用的bootstrap一起工作。

我正在使用requireJS在我的頁面上加載大量腳本,但沒有在此附近發生錯誤。我無法理解桌子是如何被腳踏實地識別的,但它的屬性沒有激活!

感謝您的任何調查方式!

編輯: 我已經理解了問題來自於我的表是在頁面加載一個隱藏的div(使用引導向導),因此增加:

onTabShow: function(tab, navigation, index) { 
if(index===3){ 
     $('.footable').trigger('footable_initialize'); 
} 

}

的伎倆:)

回答

0

你回答了你自己的問題。可腳插件僅處理可見的表格。檢查代碼footable.js resize()方法

if (!$table.is(':visible')) { 
    return; 
} //we only care about FooTables that are visible 

所以你是正確的。要麼確保選項卡完全可見,並且所有父項都可見,或者觸發初始化事件,這會導致腳架重置表格。 但是,也許最好只是重新初始化你剛纔看到的表格。

$('#myFooTable').trigger('footable_initialize'); 
4

這是因爲fooTable不能告訴屏幕的大小時,它是一個隱藏的div/tab

使用下面的jQuery:

$(document).ready(function() { 
    $('.nav-tabs a').click(function (e) { 
     //prevents re-size from happening before tab shown 
     e.preventDefault(); 
     //show tab panel 
     $(this).tab('show'); 
     //fire re-size of footable 
     $('.footable').trigger('footable_resize'); 
    }); 
}); 
1

你沒有與問候回答自己的問題來使用引導向導。原來的問題涉及footable。我一直在努力,但使用shown.bs.tab事件的解決方案很簡單。

使用下面的jQuery:

$('.nav-tabs a').click(function (e) { 
     e.preventDefault(); 
     $(this).tab('show'); 
    }); 

    $(function() { 
     $('.footable').footable(); 
    }); 

    $("ul.nav-tabs > li > a").on("shown.bs.tab", function (e) { 
     //fire initialize of footable because the footable plugin only processes tables that are visible 
     $('.footable').trigger('footable_initialize'); 
    });