我正在尝试在输入的焦点事件上获取大写锁定状态,这是我的代码

$('#Input')[0].addEventListener('focus', function (key) {
                         if (key.originalEvent.getModifierState("CapsLock"))
                            //do something...
                        else {
                            //do something..
                        }
                });


但是我收到此错误“无法读取未定义的属性'getModifierState'”,而且我不知道自己在做什么错。
一些建议或链接,以便提前阅读谢谢。

最佳答案

有不同类型的事件对象。 getModifierState仅为KeyboardEvent(例如keydown)和MouseEvent(例如click)定义; focus都不是。

您可能会考虑使用click并记住您是否已经集中注意力(例如,如果点击是在已经集中的元素中,那么就不会重复该操作)。 gh,不,这是一个可怕的建议。除了点击之外,您的元素还有很多其他可以吸引焦点的方法。

09-19 13:12