イベント

プレゼンテーションの変更に容易に反応できるように、多くのイベントをディスパッチします。 `Reveal.on()` はイベントリスナーを追加するために使用され、 `Reveal.off()` はそれらを削除するために使用されます。

Reveal.on('eventname', callbackFunction);

準備完了

reveal.jsがすべての非同期依存関係を読み込み、API呼び出しを受け入れる準備ができたときに、 `ready` イベントが発生します。 reveal.jsがすでに「準備完了」かどうかを確認するには、 `Reveal.isReady()` を呼び出すことができます。

Reveal.on('ready', (event) => {
  // event.currentSlide, event.indexh, event.indexv
});

また、`.reveal` 要素に `.ready` クラスを追加して、CSS でこれにフックできるようにします。

`Reveal.initialize` メソッドは、プレゼンテーションの準備ができたときに解決される Promise も返します。以下は、`ready` イベントのリスナーを追加することと同義です

Reveal.initialize().then(() => {
  // reveal.js is ready
});

スライド変更

スライドが変更されるたびに `slidechanged` イベントが発生します。イベントオブジェクトは、現在のスライドのインデックス値と、前後のスライドHTML要素への参照を保持します。

MathJax(#226 を参照)など、一部のライブラリは、スライドの変換と表示状態によって混乱します。多くの場合、このコールバックから更新またはレンダリング関数を呼び出すことで修正できます。

Reveal.on('slidechanged', (event) => {
  // event.previousSlide, event.currentSlide, event.indexh, event.indexv
});

スライドトランジション終了

`slidechanged` イベントは、スライドが変更されるとすぐに発生します。スライドのトランジションが完了して完全に表示されたときにイベントリスナーを起動する場合は、 `slidetransitionend` イベントを使用できます。 `slidetransitionend` イベントには、 `slidechanged` と同じイベントデータが含まれています。

Reveal.on('slidetransitionend', (event) => {
  console.log(event.currentSlide);
});

サイズ変更

reveal.jsがプレゼンテーションのスケールを変更すると、 `resize` イベントが発生します。

Reveal.on('resize', (event) => {
  // event.scale, event.oldScale, event.size
});

機能固有のイベント