# GlobalEventHandlers 接口
指定事件的回调函数,推荐使用的方法是元素的`addEventListener`方法。
```javascript
div.addEventListener('click', clickHandler, false);
```
除了之外,还有一种方法可以直接指定事件的回调函数。
```javascript
div.onclick = clickHandler;
```
这个接口是由`GlobalEventHandlers`接口提供的。它的优点是使用比较方便,缺点是只能为每个事件指定一个回调函数,并且无法指定事件触发的阶段(捕获阶段还是冒泡阶段)。
`HTMLElement`、`Document`和`Window`都继承了这个接口,也就是说,各种 HTML 元素、`document`对象、`window`对象上面都可以使用`GlobalEventHandlers`接口提供的属性。下面就列出这个接口提供的主要的事件属性。
## GlobalEventHandlers.onabort
某个对象的`abort`事件(停止加载)发生时,就会调用`onabort`属性指定的回调函数。
各种元素的停止加载事件,到底如何触发,目前并没有统一的规定。因此实际上,这个属性现在一般只用在``元素上面。
```javascript
// HTML 代码如下
//
var img = document.getElementById('img');
img.onabort = function () {
console.log('image load aborted.');
}
```
## GlobalEventHandlers.onerror
`error`事件发生时,就会调用`onerror`属性指定的回调函数。
`error`事件分成两种。
一种是 JavaScript 的运行时错误,这会传到`window`对象,导致`window.onerror()`。
```javascript
window.onerror = function (message, source, lineno, colno, error) {
// ...
}
```
`window.onerror`的处理函数共接受五个参数,含义如下。
- message:错误信息字符串
- source:报错脚本的 URL
- lineno:报错的行号,是一个整数
- colno:报错的列号,是一个整数
- error: 错误对象
另一种是资源加载错误,比如``或`