Skip to main content

DOM イベントハンドラには、それらの動作を変更する修飾子(modifiers)を設定することができます。たとえば、once 修飾子をハンドラに設定すると、1回だけ実行します。

App.svelte
<button on:click|once={() => alert('clicked')}>
	Click me
</button>

イベント修飾子の一覧:

  • preventDefault — ハンドラを実行する前に event.preventDefault() を呼び出します。たとえば、クライアントのフォーム処理に役立ちます。
  • stopPropagation — 次の要素にイベントが伝播しないように event.stopPropagation() を呼び出します。
  • passive — タッチ/ホイールイベントでスクロールのパフォーマンスを向上させます(Svelte が安全な場所に自動的に追加します)。
  • nonpassivepassive: false を明示的に設定します。
  • captureバブリング(bubbling) フェーズではなく、キャプチャ(capture) フェーズ中にハンドラを起動します。
  • once — ハンドラを最初に実行した後に削除します。
  • self — 設定した要素が event.target の場合にのみ、ハンドラをトリガします。
  • trustedevent.isTrustedtrue の場合にのみハンドラをトリガします。つまり、JavaScript が element.dispatchEvent(...) を呼び出した場合は true にならず、ユーザーのアクションによってイベントがトリガされた場合は true になります。

イベント修飾子を連結することができます。(例)on:click|once|capture={...}

Next: Component events

1
2
3
4
<button on:click={() => alert('clicked')}>
	Click me
</button>
 
initialising