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



datatable.js的cvs,pdf,打印插件(tabletools)中,当您单击打印时,会短暂显示一个包含打印信息的信息框,并使用ESC返回正常视图。你如何控制信息框中显示的信息,但更重要的是,我如何防止if淡出?或者至少可以改变它消失之前的时间?

所以我的同事不想花时间在这里发布答案,但我想我会分享它,以防其他人发现信息有用:

在不将源代码更改为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; }
}

最新更新