1. DOM2事件处理程序的添加:利用addEventListener()方法添加
a) 格式:节点.addEventListener(“事件名称”, 函数名, 事件流);
b) 注意事项:
l 同一节点可以添加多个相同的事件,这些事件会依次执行
l 删除事件时需要用到removeEventListener(),格式:节点.removeEventListener(“事件名称”, 函数名, 事件流)
l 事件名称不包含on
l 函数名不加括号
l 事件流的值为TRUE或者FALSE
2. 事件流:所谓事件流就是事件的执行顺序,两种常用方式:事件捕获、事件冒泡
a) 事件捕获:事件的执行顺序为从大到小
b) 事件冒泡:事件的执行顺序为从小到大,浏览器默认
3. event对象:作用是用来保存事件信息,如保存事件的类型,事件目标等,该对象不需要创建,在事件被添加的时候自动就会生成一个event对象,并且以参数的形式传递到事件处理函数中了,在事件处理函数中可以直接使用该对象
4. event对象常用属性
属性/方法 | 类型 | 读/写 | 说明 |
cancelable | Boolean | 只读 | 表明是否可以取消事件的默认行为 |
bubbles | Boolean | 只读 | 表明事件是否冒泡 |
type | String | 只读 | 表示要触发的事件类型 |
currentTarget | Element | 只读 | 其事件处理程序当前正在处理的事件的那个元素 |
target | Element | 只读 | 事件的目标 |
整数 | 只读 | 被按下或释放的键的键码,这个参数对keydown和keyup有用,默认值为0 | |
ctrlKey | Boolean | 只读 | 表明是否按下了ctrl键,默认值为false |
altKey | Boolean | 只读 | 表明是否按下了alt键,默认值为false |
shiftKey | Boolean | 只读 | 表明是否按下了shift键,默认值为false |
screenX、screenY | 整数 | 只读 | 事件相对于屏幕的X、Y坐标 |
clientX、clientY | 整数 | 只读 | 事件相对于视口的X、Y坐标 |
offsetX、offsetY | 整数 | 只读 | 光标相对于目标元素边界的X、Y坐标 |
preventDefault() | Function | 只读 | 取消事件的默认行为,如果cancelable为true则可以 |
stopPropagation() | Function | 只读 | 取消事件的进一步捕获或冒泡,如果bubbles为true则可以使用这个方法 |