Event: defaultPrevented プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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

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

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

HTML

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

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

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

  if (event.target.tagName === "A") {
    log.innerText = event.defaultPrevented
      ? `Sorry, but you cannot visit this link!\n${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