dataTable.js,打印插件,防止淡出信息框

时间:2014-10-28 16:43:10

标签: jquery jquery-datatables tabletools

tabletools的cvs,pdf,print plugin(datatable.js)中,当您点击打印时,会短暂显示一个信息框,其中包含打印信息以及使用ESC回到正常视图。如何控制该信息框中显示的信息,更重要的是如何防止淡出?或者至少在淡出之前改变时间量?

1 个答案:

答案 0 :(得分: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; }
}