有时候,尤其是在输入密码的时候,我们需要检测键盘上的CapsLock键是否打开,并通知用户。这可以通过将CapsLock的值与KeyboardEvent.getModifierState()方法一起使用来完成。换句话说,我们必须监听元素上的键盘事件以检查CapsLock键的状态:HTML:
JavaScript:constel=document.getElementById('password');constmsg=document.getElementById('password-message');el.addEventListener('keyup',e=>{msg.style=e.getModifierState('CapsLock')?'display:block':'display:none';});从上面的例子可以看出,在选中的元素上使用了'keyup'事件,然后调用KeyboardEvent.getModifierState()并检查'CapsLock'键的状态。'keydown'和'keypress'的工作方式类似。但在多台设备上测试后,似乎应该首选keyup方法,因为它在不同的操作系统和浏览器上效果更好。