DOM

Element:error イベント

 編集:2022.09.25 by T.A.

[Edge]。→

リソースの読み取りに失敗したり、使用できなかったりした場合に Element オブジェクトに発生します。例えば、スクリプトの実行エラーがあったり、画像が見つからないか無効であった場合などです。

バブリング なし
キャンセル 不可
インターフェイス Event または UIEvent
イベント ハンドラー プロパティ

イベント オブジェクトは、ユーザー インターフェイス要素から生成された場合は UIEvent のインスタンスとなり、それ以外の場合は Event となります。

mdn より

HTML:

<div class="controls">
  <button id="img-error" type="button">Generate image error</button>
  <img class="bad-img" />
</div>

<div class="event-log">
  <label>Event log:</label>
  <textarea readonly class="event-log-contents" rows="8" cols="30"></textarea>
</div>

JavaScript:

const log = document.querySelector('.event-log-contents');

const badImg = document.querySelector('.bad-img');
badImg.addEventListener('error', (event) => {
    log.textContent = log.textContent + `${event.type}: Loading image\n`;
    console.log(event)
});

const imgError = document.querySelector('#img-error');
imgError.addEventListener('click', () => {
    badImg.setAttribute('src', 'i-dont-exist');
});

HTML:

<IMG id=IdTest>

JavaScript:

function Job(eve){ //エラーが起こった時のイベント処理:eve に Event オブジェクトが入る。
  D=eve;           //=[object]:[object Event]
	//isTrusted=[boolean]:true
	//type=[string]:error
	//target=[object]:[object HTMLImageElement]
	//currentTarget=[object]:null
	//…
  alert(eve.message); //表示:エラー内容
}
IdTest.onerror=Job;  //エラーが起こった時の処理を割り当てる。
IdTest.src="sample"; //IMG 要素の src 属性に 存在しないソースを与えて、エラーを起こさせる。

表示結果は「undefined」だった。Event.message が無かったようだ。得られたオブジェクトは ErrorEvent ではなかった。

src


テスト