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() の定義
現行の標準

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
defaultPreventedChrome 完全対応 18Edge 完全対応 12Firefox 完全対応 6IE 完全対応 9Opera 完全対応 11Safari 完全対応 5WebView Android 完全対応 ありChrome Android 完全対応 18Firefox Android 完全対応 6Opera Android 完全対応 11Safari iOS 完全対応 5Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応