我试图通过这个搜索和google找到一个解决方案,但我什么也找不到,希望你能帮助我。
我使用printThis插件只打印页面的一部分(在我的例子中是一个DIV=modal对话框)。插件-页面:https://github.com/jasonday/printThis
调用print-dialog并打印文档后,我想自动关闭我的模式对话框,但因此我需要一个回调函数。
这就是用于打印的代码:
$(".printable").printThis({
debug: false,
printContainer: false,
pageTitle: $("#info-modal .short-info .panel-headline-wrapper h1").html(),
formValues: true,
printDelay: 0
})现在我想我从jquery中添加了一个"done()“函数来”捕获“回调...我尝试了以下方法,但不起作用:
$(".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版)。
非常感谢。
干杯,马可
发布于 2014-05-16 23:06:08
我是printThis插件的作者。
由于print对话框的性质,您当前的设置将无法工作,因为没有与print对话框相关的事件(当它被触发、完成等时)。此外,$.done是延迟对象或promise的一部分。它在这种情况下不会起作用。
我还没有测试pull请求,但它可能会工作,因为当打印对话框打开时,浏览器可能会暂停并堆栈javascript执行。然而,我不知道这是如何跨浏览器工作的。
如果您查看拉取请求,提交者会在标题中添加指令和其他指令。实际上,您在config对象中放置了一个函数。
还有另一种选择。您只需在用于触发打印功能的同一单击事件上关闭模式。这种方法会更简单,直到我找到一种有效地合并回调的方法。
https://stackoverflow.com/questions/23696281
复制相似问题