Event.defaultPrevented

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

論理値で、 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);

結果

仕様書

Specification
DOM Standard
# ref-for-dom-event-defaultprevented①

ブラウザーの互換性

BCD tables only load in the browser