2013-10-23 59 views
1

我在我的應用程序中使用datatable.js庫,但我需要修改datatable.js中的某些樣式,如果我直接修改.js文件中的樣式,它的工作正常。更改如下所示。如何覆蓋.js文件內容

/* Sorting */ 
     "sSortAsc": "ui-state-default_custom", 
     "sSortDesc": "ui-state-default_custom", 
     "sSortable": "ui-state-default_custom", 
     "sSortableAsc": "ui-state-default_custom", 

/* Scrolling */ 
     "sScrollHead": "dataTables_scrollHead ui-state-default_custom", 
     "sScrollFoot": "dataTables_scrollFoot ui-state-default_custom", 

但不建議這樣做,因爲它使直接修改,以lib下,有沒有辦法避免和覆蓋其他一些文件中的這些變化,並使用它?

回答

2

究竟它,因爲它是在源代碼中描述:

擴展對象用來提供所有的擴展 選擇數據表。

請注意,DataTable.ext對象可通過 jQuery.fn.dataTable.ext訪問和操作。

所以,如果你有這樣

.my-sorting { 
    background-color: red; 
} 

一個樣式,您要使用類排序<thead>的,而不是默認的"sSortable": "sorting"只需將dataTable()初始化之前補充一點:

jQuery.fn.dataTable.ext.oStdClasses.sSortable='my-sorting'; 

您可以更改所有上述提到的默認屬性,以及更多,而無需更改原始來源。

下面是可以測試上述示例的小提琴:http://jsfiddle.net/rbUAq/

+0

I M使用該數據表http://datatables.net – Naruto

+0

Eehhh,是???我知道這一點。你沒看過小提琴嗎? – davidkonrad

+0

謝謝Davidkonard,我嘗試了你在小提琴中給我的樣本,如果我像那樣仍然舊樣式添加它只考慮它。假設如果我在.js文件中評論'sSortAsc','sSortDesc'這些,那麼它會考慮新的風格。我正在這樣做。 jQuery.fn.dataTable.ext.oStdClasses.sSortAsc ='ui-state-def1'; jQuery.fn.dataTable.ext.oStdClasses.sSortDesc ='ui-state-def1'; View.load( 「/模板/ mydatatavle.htm」,函數(){ $( 「#數據表」)的dataTable({ 「aoColumnDefs」:[..... }); – Naruto