javascript - 如何跟踪一个按钮的点击然后另一个?
问题描述
我需要跟踪点击大写锁定,然后是键盘快捷键 ctrl + alt,即先点击大写锁定,然后点击键盘快捷键 这里是一个例子
if (e.code == "CapsLock") {
if (e.ctrlKey && e.keyCode == 18) {
alert();
}
}
但是这段代码不起作用
解决方案
我使用这样的功能:
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;
}
}
};
});
推荐阅读
- oracle - 触发器中忽略的 SQL 语句?
- android - 在另一个活动类中保留变量值
- javascript - Laravel 6 - @push 和 @stack
- json - 为什么我从 mongodb 的 json 中的某些字段的值全为零?
- android - @Path 作为可选参数?
- angular - Angular:FileReader - 来自阅读器的访问列表
- android - weight=1 和 android:layout_width="0dp" 使我的视图消失
- javascript - 当我重新启动我的 node.js Web 服务器时,我的调用堆栈会发生什么?
- c# - 执行一个可能有一些参数为空的查询
- python - Jupyter Notebook 无法在命令行中运行代码