为了获得键盘状态,我们可以收听“keydown”事件但是可以在没有事件的情况下查询键盘吗?像window.keyState.shiftkey?
之类的东西答案 0 :(得分:0)
2018年我正在调查同样的事情:(重新)初始化获得焦点。
应用程序启动时需要初始化(确定系统状态)。每次应用程序在将其丢失到另一个应用程序后恢复焦点时都需要它,因为像NumLock这样的状态可以在应用程序没有焦点时发生变化。
正如问题所述,这些信息可以从事件对象中获取。
这需要更改浏览器。在我看来,影响力低的解决方案 对于此和并行情况,是请求指定类型的“空事件”的一般机制,例如
var ke = window.requestEvent("keyboard");
var me = window.requestEvent("mouse");
var te = window.requestEvent("haptic");
由于实际上没有发生键盘/鼠标/触摸事件,否则量化事件的字段(键控代码,鼠标位置等)应该为空。
此API不应该是事件处理程序的重大更改,因为它实际上不会触发事件,它是一个返回事件对象的函数。它是全新的,因此没有遗留代码,只需定义更多的事件类字符串就可以无需更改即可进行扩展。没有定义新的数据结构。
如果我知道如何向相关的浏览器标准委员会提交变更请求,那么对我而言,这似乎是一个非常紧密,强大,兼容的解决方案。我在这里录制这个作为瓶子里的一种信息,希望有一天它能被人们看到它。