-->

检查大小写锁定在“聚焦状态”事件(Check for CapsLock ON in “onfocus

2019-06-26 22:08发布

我检查大写锁定是否打开与否下面的代码工作的“onkeypress事件”事件的罚款。

但我想它为“聚焦状态”事件。 我试着用“聚焦状态”为控制替换“onkeypress事件”,但它不为我工作。

任何帮助吗? (在JavaScript或Jquery的)

 <script type="text/javascript" language="Javascript">
    function capLock(e) {
        kc = e.keyCode ? e.keyCode : e.which;
        sk = e.shiftKey ? e.shiftKey : ((kc == 16) ? true : false);
        if (((kc >= 65 && kc <= 90) && !sk) || ((kc >= 97 && kc <= 122) && sk))
            document.getElementById('divMayus').style.visibility = 'visible';
        else
            document.getElementById('divMayus').style.visibility = 'hidden';
    }
</script>

<input type="text" name="txtuname" />
<input type="password" name="txtPassword" onkeypress="capLock(event)" />
<div id="divMayus" style="visibility:hidden">Caps Lock is on.</div> 

Answer 1:

有是一个jQuery插件称为capslockstate将保持帽的状态的跟踪锁定键,让你到什么时候需要使用这些信息。

它会监视整个页面的状态,然后你可以检索的状态时所需的元素获得焦点。

这也是基于看着按键,包括但不限于较低的ASCII字符,并处理像大写的情况下锁定键被按下本身。

你的情况会变成这样的:

<script src="{path-to}/jquery-capslockstate.js"></script>
<script>
    $(document).ready(function() {
        $(window).capslockstate();

        $(window).bind("capsOn", function(event) {
            if ($("#txtPassword:focus").length > 0) {
                document.getElementById('divMayus').style.visibility = 'visible';
            }
        });
        $(window).bind("capsOff capsUnknown", function(event) {
            document.getElementById('divMayus').style.visibility = 'hidden';
        });
        $("#txtPassword").bind("focusout", function(event) {
            document.getElementById('divMayus').style.visibility = 'hidden';
        });
        $("#txtPassword").bind("focusin", function(event) {
            if ($(window).capslockstate("state") === true) {
                document.getElementById('divMayus').style.visibility = 'visible';
            }
        });
    });
</script>

<input type="text" name="txtuname" />
<input type="password" name="txtPassword" id="txtPassword" />
<div id="divMayus" style="visibility:hidden">Caps Lock is on.</div>

请注意,我只jQueryified必要位,更多的还可以做。



Answer 2:

它似乎是不可能的检测大写锁定聚焦状态,我认为这可能会帮助你,请访问本

http://jaspreetchahal.org/jquery-caps-lock-detection-plugin/



Answer 3:

遗憾的是没有 - 事件对象的keyCode属性仅在基于密钥的事件发送(原因很明显),这就是为什么它不会聚焦状态,等的onclick工作

有没有这样做的任何其他JavaScript的方式 - 虽然有一个潜在的解决方案,如果您使用闪光灯 - 但似乎对你的要求有点矫枉过正?



文章来源: Check for CapsLock ON in “onfocus” event