その場でエディターを作成し ( http://epiceditor.com )、キー ショートカットを自動的に設定するライブラリがあります。ショートカットはオプションで設定できるのでe.altKey
、e.ctrlKey
、 などは使用できません。
何らかの理由で、修飾キーがMac/Ubuntu ブラウザーで元に戻らないfalse
場合があります。
Windowsでは、毎回発生するようです。これを再現するには、JSBin で render をクリックしてからalt+を押しpます。「Yay」が表示されるはずです。ここで、Windows の場合はもう一度押します p。「Yay が再び表示されます。Mac および Ubuntu ユーザーは、この同じ問題を時折見ていますが、再現するのは困難です。
altまた、これは思われるキーでのみ発生することに注意してください。下には、18 (alt) の隣に 16 (shift) があります。これらを交換すると、期待どおりに機能します。
簡素化されたテスト ケースのコードは次のとおりです。
var modKey = false;
var modKeyCode = 18; //16
document.body.addEventListener('keydown', function (e) {
if (!modKey && modKeyCode == e.keyCode) {
modKey = true;
}
if (modKey && e.keyCode == 80) {
console.log('Yay!');
}
});
document.body.addEventListener('keyup', function (e) {
if (modKey && modKeyCode == e.keyCode) {
modKey = false;
}
});