我目前可以使用依赖KeyDown
/ KeyUp
事件的库来查看使用JavaScript按下了哪些键。虽然在页面内按下/释放按键时可以很好地工作,但是当在页面外部释放按键时(即,当它没有焦点时),事件不会触发。
因此,当页面具有焦点时,可以按Enter
键(事件将触发,一切顺利),但当页面没有焦点时释放它时,事件会不火,这导致我无法知道该键是否仍被按下。
关于使用的库,请参考: http://www.n-son.com/scripts/keyLib/keyLib.js
当页面没有焦点时,是否可以知道何时释放密钥?或者是否可能有一般功能来检查在特定时间是否按下某个键?
答案 0 :(得分:3)
当窗口失去焦点时,我会将所有这些键 - 向下标记重置为false
,您可以使用window
的{{1}}事件执行此操作:
blur
答案 1 :(得分:2)
如果他们没有与“您的”程序交互(在网页的情况下,'您的'程序是他们的网络浏览器的一部分),那么他们所做的任何事情都不会产生您的程序知道的事件。
允许网页了解与其无关的事件(例如我在完全独立的程序中键入机密电子邮件,或输入密码或其他任何内容)将是一个巨大的安全风险。
答案 2 :(得分:1)
你不能使用更高级别的事件,例如KeyPress,它可以保证密钥被击落然后被释放吗?