在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; }
}