首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >回调jquery插件printThis

回调jquery插件printThis
EN

Stack Overflow用户
提问于 2014-05-16 21:26:50
回答 1查看 2.5K关注 0票数 0

我试图通过这个搜索和google找到一个解决方案,但我什么也找不到,希望你能帮助我。

我使用printThis插件只打印页面的一部分(在我的例子中是一个DIV=modal对话框)。插件-页面:https://github.com/jasonday/printThis

调用print-dialog并打印文档后,我想自动关闭我的模式对话框,但因此我需要一个回调函数。

这就是用于打印的代码:

代码语言:javascript
复制
$(".printable").printThis({
             debug: false,
             printContainer: false,
             pageTitle: $("#info-modal .short-info .panel-headline-wrapper h1").html(),
             formValues: true,
             printDelay: 0
            })

现在我想我从jquery中添加了一个"done()“函数来”捕获“回调...我尝试了以下方法,但不起作用:

代码语言:javascript
复制
$(".printable").printThis({
            debug: false,
            printContainer: false,
            pageTitle: $("#info-modal .short-info .panel-headline-wrapper h1").html(),
            formValues: true,
            printDelay: 0
        }).done(function(n){
            //close modal dialog
        });

我在pull请求中发现了一些东西:https://github.com/jasonday/printThis/pull/28,但我不知道如何使用它。

我使用的是最新版本的printThis (1.4版)和jquery (1.11.0版)。

非常感谢。

干杯,马可

EN

回答 1

Stack Overflow用户

发布于 2014-05-16 23:06:08

我是printThis插件的作者。

由于print对话框的性质,您当前的设置将无法工作,因为没有与print对话框相关的事件(当它被触发、完成等时)。此外,$.done是延迟对象或promise的一部分。它在这种情况下不会起作用。

我还没有测试pull请求,但它可能会工作,因为当打印对话框打开时,浏览器可能会暂停并堆栈javascript执行。然而,我不知道这是如何跨浏览器工作的。

如果您查看拉取请求,提交者会在标题中添加指令和其他指令。实际上,您在config对象中放置了一个函数。

还有另一种选择。您只需在用于触发打印功能的同一单击事件上关闭模式。这种方法会更简单,直到我找到一种有效地合并回调的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23696281

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档