キーコマンドを使用してテキストエリアでのテキスト入力を有効または無効にする必要がある小さな個人プロジェクトに取り組んでいます。これは、Vi/Vim が挿入とコマンド モードを処理する方法と同様に機能します。
このタスクを実行するエレガントな方法を理解できないようです。テキストエリアを無効に設定すると、ユーザーはテキスト内でカーソル キャレットを移動できなくなります。keydown イベントを設定return false
すると、フィールドを無効にすることができますが、他のロジックに到達する前に即座に false が返されるため、再度有効にすることはできません。
の前に何らかのロジックがある場合return false
、テキストエリアは文字入力を受け取ります。この入力を受け入れ、挿入モードに設定されていない場合は即座に元に戻すバージョンを試してみましたが、これは扱いにくく、価値がある以上の問題を引き起こしました (さらに、実際には瞬時ではありません...)