デフォルトの動作を防止する
一部のイベントでは、ブラウザにはデフォルトの動作があります。たとえば、リンクをクリックすると、通常、ブラウザはリンクのhref
に移動します。これを防ぎたい場合があります。このため、Event
APIにはpreventDefault()
メソッドが含まれています。
ブラウザイベントは同期的ですが、Qwikはきめ細かいので、ロード可能なQwik実行モデルは非同期的です。これは、イベントがトリガーされた時点で、イベントハンドラーがまだロードされていないことを意味します。イベントハンドラーがロードされるまでに、イベントはすでにブラウザによって処理されており、preventDefault()
を呼び出しても効果はありません。
これを解決するために、Qwikはイベントがトリガーされたときに自動的にpreventDefault()
を呼び出す宣言型APIを提供します。これは、要素にpreventdefault:<event-name>
属性を追加することで実現します。これにより、Qwikloaderはイベントがトリガーされたときに同期的にpreventDefault()
を呼び出すことができます。
例
リンクをクリックすると、ナビゲーションイベントが発生します。これを防ぎ、代わりにコールバックを呼び出したいと考えています。これを実現するには、<a href>
にpreventdefault:click
を追加します。