이것은 Firefox와 Chrome에서 작동합니다.
Enter
파일을 보거나 특수 온라인 편집기에서 편집하기 위해 특수 html 파일을 로컬로 열어야했습니다 ( Windows의 파일 탐색기에서 파일을 선택할 때 누름 ).
그래서 나는 키를 누른 상태에서 Ctrl
키 를 누른 상태에서이 두 옵션을 구별하고 싶었습니다 Enter
.
여기의 모든 답변에서 이해했듯이 이것은 실제로 가능하지 않은 것처럼 보이지만 여기에 저에게 허용되는 방식 으로이 행동을 모방하는 방법이 있습니다.
작동 방식은 다음과 같습니다.
Ctrl
파일을 열 때 -key 를 누르고 있으면 자바 스크립트 코드에서 keydown 이벤트가 발생하지 않습니다. 그러나 keyup 이벤트가 발생합니다 (마지막으로 Ctrl
-key를 놓을 때 ). 코드는 그것을 포착합니다.
이 코드는 키 이벤트 (키업 및 키 다운 모두)가 발생하는 즉시 해제합니다. 따라서 Ctrl
파일이 열린 후-키 를 누르면 아무 일도 일어나지 않습니다.
window.onkeyup = up;
window.onkeydown = down;
function up(e) {
if (e.key === 'F5') return;
window.onkeyup = null;
window.onkeyup = null;
if (e.key === 'Control') {
alert('Control key was released. You must have held it down while opening the file, so we will now load the file into the editor.');
}
}
function down() {
window.onkeyup = null;
window.onkeyup = null;
}