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,打印插件,防止淡出信息框的主要内容,如果未能解决你的问题,请参考以下文章

防止熊猫数据框标题行在for语句中重复

用于防止输入任何不匹配正则表达式的输入的 jquery 插件

Toastr:如何防止鼠标悬停时粘糊糊的吐司淡出?

如何防止熊猫数据框中的索引出现在excel中?

js插件编程-tab框

使用淡入淡出动画使组框出现和消失