2014-10-28 57 views
0

在cvs,pdf,打印插件(tabletools)中爲datatable.js,當您點擊打印時,短暫顯示一個信息框,打印信息爲以及使用ESC恢復正常視圖。如何控制在該信息框中顯示的信息,但更重要的是,如何防止如果淡出?或者至少在淡出之前改變時間量?dataTable.js,打印插件,防止淡出信息框

回答

0

所以,我的同事不想花時間在這裏發表的答案,但我想我會的情況下,其他人分享別人發現的信息有用:

貌似沒有設置它保持打開狀態的時間,而無需將源代碼更改爲TableTools.js如果您在第1779行查看該文件,則會看到它被硬編碼爲3秒。

由於tabletools在整個應用程序中都在使用,我不想更改源代碼並影響所有其他用途。相反,我這樣做:

$("#myTable").dataTable({ 

     ... 

     "oTableTools": { 
      "sSwfPath": "SomePath/TableTools/media/swf/copy_csv_xls_pdf.swf", 
      "aButtons": [ 

       ...  

       { 
        "sExtends": "print", 
        "sTitle": "", 
        "sInfo": "", 
        "sMessage": "", 
        "fnComplete": function (nButton, oConfig, oFlash, sFlash) { 
         openDialogWithMessage("Press the [Esc] key to return to the normal view."); 

         $('.ui-dialog,.ui-widget-overlay').addClass('doNotPrint'); 
        } 
       } 
      ] 
     } 
    }); 

openDialogWithMessage()僅僅是一個自定義的輔助函數來彈出一個jQuery UI Dialog Box。然後在我的CSS文件:

@media print { 
    .doNotPrint, .doNotPrint * { display: none !important; } 
} 
+0

'fnInfo'只用了兩次,在1779線和'fnComplete'功能,其中延遲設置爲1500。所以看不到任何** **原因* *不**在這種特殊情況下改變硬編碼值。或者更好的是,用一個值擴展選項,比如'iPrintStartMsgDelay:1000',然後引用該值。 – davidkonrad 2014-10-31 11:55:59