2014-01-15 46 views
3

我的页面上有一个按钮叫做"Print"。点击哪个会触发一个jQuery函数。如何使用jquery检测浏览器打印(ctrl + p)

我需要当用户点击Alt+f+pctrl+p

我怎么做,要调用同一个jQuery函数?

我试图做到这一点与matchMedia,但没有运气

if (window.matchMedia('print').matches) { 
     alert("print using browser"); 
    } 
+0

为什么downvote? – poitroae

+0

该OP没有尝试过**任何** @aoeu ...只听密钥处理程序... – qwertynl

+0

你弹出一个新的窗口来打印而不是使用CSS打印介质吗?您是否尝试过听按键?那失败了吗? – epascarello

回答

1

没有这样做,因为据我所知的标准方法。

IE和FF提供自己的函数调用,

IE有非标准window.onBeforePrint()和window.onAfterPrint()事件侦听器。然而,我没有一种非IE的方式来做到这一点。

火狐 6现在支持beforeprint打印后并 https://developer.mozilla.org/en/Printing#Detecting_print_requests

一个普遍可行的解决方案可能是只监听CMD+P