--- title: Event.defaultPrevented slug: Web/API/Event/defaultPrevented tags: - API - DOM - Event - Property - Read-only - プロパティ - 読取専用 translation_of: Web/API/Event/defaultPrevented ---
{{ APIRef("DOM") }}

defaultPrevented は {{domxref("Event")}} インターフェイスの読み取り専用プロパティで、 {{jsxref("Boolean")}} で {{ domxref("Event.preventDefault()") }} の呼び出しがイベントをキャンセルしたかどうかを示す値を返します。

メモ: 標準外かつ非推奨の getPreventDefault() メソッドの代わりに、これを使用してください (see {{ bug(691151) }})。

構文

var defaultWasPrevented = event.defaultPrevented;

{{jsxref("Boolean")}} で、 true は既定の{{glossary("user agent", "ユーザーエージェント")}}の操作が抑制されたことを、 false はそうではないことを表しています。

この例は2つの {{htmlElement("a")}} 要素のリンクを訪れる試みをログ出力します。 JavaScript は2番目のリンクの動作を抑制するために使用しています。

HTML

<p><a id="link1" href="#link1">Visit link 1</a></p>
<p><a id="link2" href="#link2">Try to visit link 2</a> (you can't)</p>
<p id="log"></p>

JavaScript

function stopLink(event) {
  event.preventDefault();
}

function logClick(event) {
  const log = document.getElementById('log');

  if (event.target.tagName === 'A') {
    if (event.defaultPrevented) {
      log.innerText = 'Sorry, but you cannot visit this link!\n' + log.innerText;
    }
    else {
      log.innerText = 'Visiting link...\n' + log.innerText;
    }
  }
}

const a = document.getElementById('link2');
a.addEventListener('click', stopLink);
document.addEventListener('click', logClick);

結果

{{EmbedLiveSample("Example")}}

仕様書

仕様書 状態 備考
{{SpecName('DOM WHATWG', '#dom-event-defaultprevented', 'Event.defaultPrevented()')}} {{ Spec2('DOM WHATWG') }}

ブラウザーの互換性

{{Compat("api.Event.defaultPrevented")}}