Event.defaultPrevented

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

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

構文

var defaultWasPrevented = event.defaultPrevented;

Boolean で、 true は既定のユーザーエージェントの操作が抑制されたことを、 false はそうではないことを表しています。

この例は2つの <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);

結果

仕様書

仕様書 状態 備考
DOM
Event.defaultPrevented() の定義
現行の標準

ブラウザーの互換性

BCD tables only load in the browser