[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。