如何使用angular.js检测盖帽锁定是否打开

How to detect while caps lock is on/off using angular.js

本文关键字:锁定 是否 何使用 angular js 检测      更新时间:2023-09-26

我需要一个帮助。我有一个只接受特殊字符的密码字段验证。在键入密码时,如果用户正在键入任何大写字母,则会显示大写锁定通知,当它关闭时,也会显示消息。请检查下面我现有的代码。

<span class="input-group-addon ndrftextwidth text-right" style="width:180px">Password :</span>
<div ng-class="{ 'has-error': billdata.pass.$touched && billdata.pass.$invalid }">
<input type="{{inputType}}" name="pass" id="contactno" class="form-control" placeholder="password" ng-model="password" ng-minlength="8" ng-pattern="/^(?=.*[A-Z])(?=.*'d)(?=.*[a-z]).*_.*/" >
</div>
</div>
<div class="help-block" ng-messages="billdata.pass.$error" ng-if="billdata.pass.$touched">
<p ng-message="minlength" style="color:#F00;">This field is too short.The min length of your password should be 8.</p>
<p ng-message="pattern" style="color:#F00;">This field needs the special character like at least one number,upper case,lower case letter and underscore.</p>
</div>

请帮我解决这个问题。

支持capslock的简单库。

使用CapsLock.js

大写锁定键的当前状态可以使用isOn功能确定,如果大写锁定当前显示为打开,则返回true;如果大写锁定显示为关闭,则返回false:

// check the state of the caps lock key
if (CapsLock.isOn()){
  // caps lock is on
}

http://code.stephenmorley.org/javascript/detecting-the-caps-lock-key/

这可以使用ngCapsLock模块来完成

包含relevent-js并指定ngCapsLock作为依赖项:

angular.module('myApp', ['ngCapsLock']);

然后

<p class="caps-lock-alert" ng-show='isCapsLockOn'>Caps lock is on</p>

ngCapsLock

对于angularJS开发人员,这里有一个检查按钮是否激活的工作示例:

在你的JS文件上:

  $scope.checkCase = function(event) {
        var isOn = event.originalEvent.getModifierState('CapsLock');
        if (isOn) {
            console.log('ON');
        }
    };

HTML:将此添加到您的INPUT:

 ng-keyup="checkCase($event)"