1. 開発者向けのウェブ技術
  2. Web API
  3. Event
  4. cancelable

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Event: cancelable プロパティ

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

cancelableEvent インターフェイスの読み取り専用プロパティで、イベントがキャンセル可能かどうか、イベントが発生しないように抑止することができるかを示します。

イベントがキャンセルできない場合、 cancelable プロパティは false となり、イベントが発生することをイベントリスナーが抑止することができないことを示します。

ブラウザーネイティブのイベントのうち、キャンセル可能なもののほとんどは、ユーザーのページとの対話の結果から発生したものです。 click, wheel, beforeunload の各イベントをキャンセルすると、それぞれユーザーが何かをクリックすること、ページをスクロールすること、他のページに移動することをそれぞれ抑止することができます。

その他の JavaScript によって作成されたカスタムイベントは、作成時にキャンセル可能であるかどうかを制御します。

イベントをキャンセルするには、そのイベントに対して preventDefault() メソッドを呼び出してください。これにより、実装はイベントに関連付けられた既定のアクションを実行しないようになります。

複数の種類のイベントを処理するイベントリスナーは、 preventDefault() メソッドを呼び出す前に cancelable をチェックしたほうがいいかもしれません。

論理値で、イベントがキャンセル可能であれば true です。

例えば、ブラウザーベンダーは wheel イベントが、最初にリスナーが呼び出されたときのみキャンセル可能にしようと提案しています。 — その後の wheel イベントはキャンセルできません。

js
function preventScrollWheel(event) {
 if (typeof event.cancelable !== "boolean" || event.cancelable) {
 // The event can be canceled, so we do so.
 event.preventDefault();
 } else {
 // The event cannot be canceled, so it is not safe
 // to call preventDefault() on it.
 console.warn(`The following event couldn't be canceled:`);
 console.dir(event);
 }
}
document.addEventListener("wheel", preventScrollWheel);

仕様書

仕様書
DOM
# ref-for-dom-event-cancelable2

ブラウザーの互換性

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /