JS에서 이중 CTRL 키 프레스를 감지하십시오
-
19-09-2019 - |
문제
사용자 정의 CMS가 있으며 누르기가 트리거 된 "바로 가기 메뉴"를 추가하고 싶습니다. Ctrl 키 300 밀리 초 내에서 두 번 키. 프로토 타입을 사용하므로 출발점은 분명히 다음과 같습니다.
Event.observe(document, 'keypress', function(event)
{ if(event.keyCode == Event.KEY_XYZ) { show_shortcuts});
현재의 접근 방식은 현재 시간과 현재 시간과 함께 글로벌 변수를 채우고 각 키 프레스를 300 밀리 초 미만으로 확인하는 것입니다.
그러나 더 우아한 솔루션이 있습니까?
해결책
이것은 작동해야합니다. Alt 또는 Shift와 같은 다른 키가 동시에 누르지 않으면 추가 점검을 추가 할 수 있습니다. 단순히 묻는 것이 아니라 내가 설명을 제공한다면 자기 설명이되기를 바랍니다.
var dblCtrlKey = 0;
Event.observe(document, 'keydown', function(event) {
if (dblCtrlKey != 0 && event.keyCode == 17) {
alert("Ok double ctrl");
} else {
dblCtrlKey = setTimeout('dblCtrlKey = 0;', 300);
}
});
제휴하지 않습니다 StackOverflow