dataTable.js,打印插件,防止淡出信息框
Posted
技术标签:
【中文标题】dataTable.js,打印插件,防止淡出信息框【英文标题】:dataTable.js, Print plugin, prevent fading out of info box 【发布时间】:2014-12-24 04:21:09 【问题描述】:在 datatable.js
的 cvs,pdf,print 插件 (tabletools
) 中,当您单击打印时,会短暂显示一个信息框,其中包含打印信息以及使用 ESC 回到正常视图。您如何控制该信息框中显示的信息,但更重要的是如何防止 if 淡出?或者至少改变它消失之前的时间量?
【问题讨论】:
【参考方案1】:所以我的同事不想花时间在这里发布答案,但我想我会分享它以防其他人发现该信息有用:
看起来没有设置在不将源代码更改为 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;
【讨论】:
fnInfo
只使用了两次,在第 1779 行和 fnComplete
函数中,其中延迟设置为 1500。所以看不到 任何原因>不在这种特殊情况下更改硬编码值。或者更好的是,用一个值扩展选项,例如 iPrintStartMsgDelay : 1000
并引用该值。以上是关于dataTable.js,打印插件,防止淡出信息框的主要内容,如果未能解决你的问题,请参考以下文章