首页 > 解决方案 > 如何跟踪一个按钮的点击然后另一个?

问题描述

我需要跟踪点击大写锁定,然后是键盘快捷键 ctrl + alt,即先点击大写锁定,然后点击键盘快捷键 这里是一个例子

if (e.code == "CapsLock") {
        if (e.ctrlKey && e.keyCode == 18) {
          alert();
        }
      }

但是这段代码不起作用

标签: javascript

解决方案


我使用这样的功能:

document.addEventListener("keydown", function (e) {
    var caps = e.getModifierState && e.getModifierState('CapsLock');  // true if pressed, false if released
    document.onkeyup = function(event) {
    if(caps === true){
        /** Validate keys are to be processed */
        var keycode = event.which;
        // works off course only if ctrl key is kept pressed during key stroke = normal behavior in most OS
        // Should it work like a ctrl-Lock function you have to work with a state variable
            if ((event.ctrlKey === true) && (keycode === 18)) {  
                alert();
            }
            else{
                /** Let it happen, don't do anything */
                return;
            }
        }
    };
});

推荐阅读