如何挂钩window.print对话框关闭事件来调用函数?
我正在使用jQuery插件 Datatables 和 Table tools plugin 来打印网页上的数据。
window.print();
答案 0 :(得分:1)
不需要JavaScript,这个CSS解决方案怎么样? 这也适用于所有浏览器。
@media print
{
/* Add here any selector for ('root') elements you do not want to be printed. */
.header, .footer, .floating-print-instructions
{
display: none;
}
}
请注意,如果选择器匹配在其display: block
属性中具有显式style
(和类似)的元素(或使用JavaScript),则可能仍会显示它。
另外,我相信某些浏览器(Internet Explorer?)有beforeprint
和afterprint
个事件,我想您可以听取它们并采取相应的行动,但这不是真正的跨浏览器实现而且它比普通的CSS稍微复杂一点。
您可以收听keyup / keydown事件以了解用户是否按下了Cotrol + P.但是,用户可以使用其他方式(菜单,工具栏按钮)进行打印。
此外,在某些浏览器(Chrome)中,window.print()
部分异步(只有window.close()
次调用在其后同步运行),因此您的代码可能会在其后运行。