【QuillEditor】キーボードデフォルトの動作をやめる方法

投稿者:

・デフォルトの動作とは?

Tabでインデントしたり、”1.”のあとにスペースいれたらリストに変換したり、コードブロック内で改行2回押すとコードブロックを終了したりするやつです

それぞれ以下のようにbindingsに設定します

  const quill = new Quill('#editor', {
    modules: {
      syntax: true,
      toolbar: '#toolbar-container',
      keyboard: {
            bindings: {
              "tab": null, // indent無効
              "list autofill": null, // リスト変換無効
              "code exit": null, // コードブロック改行のやつ無効
            },
      }
    },
    placeholder: 'Compose an epic...',
    theme: 'snow',
  });

これでデフォルトのbindingsを上書きできます

nullの場合bindgsを追加しないようになっているので動作も問題なさそうです

じゃぁどこからこの名前(code exitとか)を見つけてくるかというとソース読みます

keyboard.tsのdefaultOptionsのキーが該当します

https://github.com/slab/quill/blob/b213e1073bac1478649f26e3c0dad50ad0eb2a49/packages/quill/src/modules/keyboard.ts#L357-L635

PFU キーボード HHKB Professional Classic 英語配列/墨