--- title: error slug: Web/API/Element/error_event translation_of: Web/API/Element/error_event original_slug: Web/Events/error ---
{{APIRef}}

当一个资源加载失败或无法使用时,会在{{domxref("Element")}}对象上触发error事件。例如当脚本执行错误、或图片无法找到或图片无效时。

Bubbles(支持冒泡) No
Cancelable(可撤销) No
Interface(接口) {{domxref("Event")}} 或{{domxref("UIEvent")}}
Event handler property(事件处理程序属性) {{domxref("GlobalEventHandlers/onerror", "onerror")}}

如果事件对象是从用户界面元素生成的,则它是一个{{domxref("UIEvent")}}实例;反之,它是一个{{domxref("Event")}}实例。

示例

在线示例

HTML

<div class="controls">
  <button id="img-error" type="button">生成图像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>

JS

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');
});

结果

{{ EmbedLiveSample('Live_example', '100%', '150px') }}

规范

Specification Status
{{SpecName('UI Events', '#event-type-error')}} {{Spec2('UI Events')}}

浏览器兼容性

{{Compat("api.Element.error_event")}}

参阅