Scrapbox でマウスでカーソルをエディタ内に置いたり、エディタ外をクリックしてカーソルを消したりするけど、リンクがあったり画像があったりすると思うようにカーソルが置けなかったり、逆にカーソルがあるとリンクが押せなかったりすることがある。 Vim の insert/normal モードの切り替えっぽくカーソルを出したり消したりすると解決しないかと思って試してみている。
document.addEventListener('keydown', e => { const textarea = document.getElementById('text-input'); switch (e.key) { case 'i': if (document.activeElement !== textarea) { textarea.focus(); e.preventDefault(); // イベント中断しないと `i` が入力されてしまう } break; case 'Escape': if (document.activeElement === textarea) { textarea.blur(); } break; } });