如何在JS焦点事件中使用“getModifierState”?

时间:2016-10-20 13:37:10

标签: javascript focus addeventlistener modifier

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

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

但我收到此错误“无法读取属性'getModifierState'未定义”,我不知道我做错了什么。 一些建议或链接提前阅读感谢。

1 个答案:

答案 0 :(得分:1)

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

您可以查看使用click并记住您是否已经拥有焦点(例如,如果点击位于已经聚焦的元素中,则不要重复操作。)呃,不,那是一个可怕的建议。除了点击之外,您的元素可以通过多种方式获得关注。