そうだね!新しいバージョンQuill 1.3出ています!のドキュメントを表示していますv0.20

イベント

Quillはから継承しますイベントエミッターそして許可します 次のイベントを聞くためにアクセスします。

  1. テキスト変更
  2. 選択変更

テキストの変更

Quill の内容が変更されたときに発生します。の詳細 変更内容とその変更元が提供されます。ソースは なれ"user"それが由来する場合 ユーザーたち。例えば:

  • - ユーザーがエディタに入力する
  • - ユーザーはツールバーを使用してテキストを書式設定します
  • - ユーザーはホットキーを使用して元に戻します
  • - ユーザーは OS のスペル修正を使用します

変更は API を通じて発生する可能性がありますが、それが発生するものである限り、 ユーザーの場合、提供されたソースはそのまま残ります"user"。たとえば、ユーザーが ツールバー、技術的には、ツールバー モジュールは Quill API を呼び出して、 変化。でもソースはまだ"user"なぜなら、変化の根源はユーザーのクリックだったからです。

コールバックパラメータ

パラメータ タイプ 説明
delta デルタ 変化の表現。
source 変化の源。どちらかになります"user"また"api"

editor.on('text-change', function(delta, source) {
  if (source == 'api') {
    console.log("An API call triggered this change.");
  } else if (source == 'user') {
    console.log("A user action triggered this change.");
  }
});

選択の変更

ユーザーまたは API によって選択が変更されたときに発行されます。 選択範囲の境界を表す範囲。 NULL 範囲は次のことを示します 選択の損失 (通常はエディターからのフォーカスの喪失によって引き起こされます)。

チェックを入れるだけで、このイベントをフォーカス変更イベントとして使用することもできます。 放出された範囲が null かどうか。

コールバックパラメータ

パラメータ タイプ 説明
range 物体 オブジェクトと始める終わりキーは、選択範囲に対応するインデックスを示します。 存在します。
source 変化の源。どちらかになります"user"また"api"

editor.on('selection-change', function(range) {
  if (range) {
    if (range.start == range.end) {
      console.log('User cursor is on', range.start);
    } else {
      var text = editor.getText(range.start, range.end);
      console.log('User has highlighted', text);
    }
  } else {
    console.log('Cursor not in the editor');
  }
});