LoginSignup
13
13

タブキーを押すとフォーカスが移動してしまうせいでタブをテキストとして入力できないウェブサービス(Google Keep など)でタブを入力できるようにする方法

Last updated at Posted at 2016-04-15

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追記:下記の拡張はある方に譲渡しました。すでに私は関わっていません。

説明

Google Keep などでは tab キーを押すとフォーカスが別の HTML 要素に移ってしまうため、タブをテキストとして入力できません。

上記のコードでは、tab のデフォルトの動作を無効にして、document.execCommand('insertText',false , '\t'); を呼び出すことで \t を入力しています。

その他の使いドコロ

Google Keep 以外のサービスでも使えると思います。

また、自分がウェブサービスを作る場合でも同様の方法をつかえば textarea にタブを入力できるようになります。

13
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
13