工作笔记---js和java共同完成大写锁定提示

1.初始化CapsLock状态。暂找不到js判断CapsLock状态的方法,于是只能想办法从java下手。引用:“JavaScript只提供对键盘的监听事件,它无法获取客户端硬件信息(IE下可以通过ActiveXObject对象获得),更无法获得客户端硬件的状态,这是JavaScript语言的限制,所以它只能监听用户对键盘的响应事件,才能判断用户当前的按键是处于大小还是小写状态。目前网络上所有判断大小写都是监听用户的按钮才能得以判断”。


boolean isLock = java.awt.Toolkit.getDefaultToolkit().getLockingKeyState(java.awt.event.KeyEvent.VK_CAPS_LOCK); 注意: 此方法在项目启动中重复调用返回的是初始化之前的CapsLock状态(true或false)。在mian方法中运行返回实际锁定状态。

2. js监听               

var openIndex;
    function show() {
        openIndex = layer.tips('大写锁定:开', '.input-password', {
            tips: [4, '#78BA32'],
            time: 10000
        });
    }
    function hide() {
        layer.close(openIndex);
    }
    
    var isCapslockOn = execute("getCpasLockStatus", null);
    function checkCapsLock_keydown(e) {
        var keyCode = window.event ? e.keyCode : e.which;
        if (keyCode == 20 && isCapslockOn == true){
            isCapslockOn = false;
        }else if (keyCode == 20 && isCapslockOn == false){
            isCapslockOn = true;
        }
    }
    function tip() {
        if (isCapslockOn){
            show();
        }else{
            hide();
        }
    }
    
    $(document).keydown(checkCapsLock_keydown);
    
    $("#input-password").keyup(tip).focus(function(){
        if(isCapslockOn){
            show();
        }
    }).blur(function () {
        hide();
    });

使用的layer弹出层插件。

3.最终



感谢以下文章:http://zhidao.baidu.com/link?url=RhaNVM2iaO4MaB7EeLav83tkcBkwkTISyHNBXM_L5zafKE3C5NdQfWgVLtPT9HdwAyos4ilzFoJmB0avbLpjra

                          http://www.dewen.net.cn/q/1762

                          http://www.jb51.net/article/32384.htm

                          http://layer.layui.com/api.html



你可能感兴趣的:(java,js,javascript,工作)