Chrome の拡張を作って下記のコードを実行させれば、カーソル位置にタブ(\t)を挿入させることができます。
document.onkeydown = function (e) {
if (e.keyCode === 9) {
e.preventDefault();
event.returnValue = false;
document.execCommand('insertText',false , '\t');
}
};
実際に Google Keep でタブを入力できるようにする Chrome 拡張を作ってみました。
※2023-10-20追記:下記の拡張はある方に譲渡しました。すでに私は関わっていません。
- ダウンロード:https://chrome.google.com/webstore/detail/input-tab-in-google-keep/bmfmbanhkhjhfeckobkcecohknhlnamb
- ソースコード:https://github.com/arai-wa/input_tab_in_google_keep
説明
Google Keep などでは tab キーを押すとフォーカスが別の HTML 要素に移ってしまうため、タブをテキストとして入力できません。
上記のコードでは、tab のデフォルトの動作を無効にして、document.execCommand('insertText',false , '\t');
を呼び出すことで \t
を入力しています。
その他の使いドコロ
Google Keep 以外のサービスでも使えると思います。
また、自分がウェブサービスを作る場合でも同様の方法をつかえば textarea にタブを入力できるようになります。