これはFirefoxとChromeで動作します。
Enter
ファイルを表示するため、または特別なオンラインエディターで編集するために、特別なhtmlファイルをローカルで開く(Windowsのファイルエクスプローラーでファイルを選択するときに押す)必要がありました。
ですからCtrl
、を押しながら-キーを押すかどうかにかかわらず、これら2つのオプションを区別したいと思いましたEnter
。
ここでのすべての答えから理解しているように、これは実際には可能ではないようですが、ここでは、この動作を私に受け入れられる方法で模倣しています。
これが機能する方法は次のとおりです。
Ctrl
ファイルを開くときに-key を押したままにすると、JavaScriptコードでkeydownイベントが発生することはありません。しかし、キーアップイベントが発生します(最終的にCtrl
-keyを離すと)。コードはそれをキャプチャします。
また、コードは、キーイベント(キーアップとキーダウンの両方)が発生するとすぐにオフにします。したがってCtrl
、ファイルが開いた後に- キーを押しても、何も起こりません。
window.onkeyup = up;
window.onkeydown = down;
function up(e) {
if (e.key === 'F5') return; // if you want this to work also on reload with F5.
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;
}