1、事件监听器或事件处理程序,即响应某个事件的函数,名字是以"on"开头的。
2、DOM0 级的Event handler 每个元素(包括window,document)都有自己的事件处理程序属性,属性通常全部小写,将属性设置成函数即可指定处理函数。 var btn = document.getElementById('myBtn'); btn.onclick = function() { alert(this.id); // 'myBtn'
}
注:事件中的this对象引用当前元素,即可访问元素的所有属性和方法。
3、DOM2级的Event handler
定义了2个方法用于指定和删除事件处理函数:addEventListener,removeEventListener。 btn.addEventListener(name, handler, capture); btn.removeEventListener(name, handler, capture); 俩个方法接受三个参数: name:事件名, handler:事件处理函数,capture: 是否在捕获阶段调用handler; true 是, false 在冒泡阶段处调用handler
注:通过addEventListener添加的事件处理程序只能使用removeEventListener移除。
4、IE中的Event handler
IE 中实现了俩个方法:attachEvent、detachEvent。 attachEvent('on'+name, handler); detachEvent('on'+name, handler);当对一个元素添加多个事件时,触发的顺序是添加顺序相反的。
注:在使用DOM0级方法时,事件处理程序在其所属元素作用域运行,而使用attachEvent方法的时,事件处理程序运行在全局作用域下。即
btn.attachEvent('onclick', function(){ alert(this === window); // => true
})
5、跨浏览器事件处理程序
三、事件对象 在触发DOM上的事件时,会产生一个包含所有与事件相关信息的对象Event。1、DOM中的事件对象 Event中的基础属性:
bubbles | Boolean | 只读 | 事件是否冒泡 |
cancelable | Boolean | 只读 | 是否可以取消事件默认行为 |
currentTarget | Element | 只读 | 处理程序现在正在处理的元素 |
detail | Integer | 只读 | 事件相关的细节信息 |
preventDefault | Function | 只读 | 取消事件的默认行为。cancelable为true可用。 |
stopPropagation | Function | 只读 | 阻止事件捕获或冒泡。bubbles为true可用 |
target | Element | 只读 | 事件的目标元素 |
trusted | Boolean | 只读 | true表示是浏览器生成的;false为开发人员创建 |
type | String | 只读 | 事件类型 |
eventPhase | Integer | 只读 | 事件所处阶段:1 捕获阶段; 2 处于目标; 3 冒泡阶段 |
2、IE中的事件对象 访问IE中的Event对象的方式有如下几种不同方式: 1)使用DOM0级方法添加的事件,event对象作为window对象的一个属性存在。使用window.event。 2)通过HTML特性指定的事件,可以通过event变量来访问event对象。
Event对象包括的属性和方法如下
cancelBubble | Boolean | 只读 | 默认为false,为true时阻止事件冒泡 |
returnValue | Boolean | 只读 | 默认为true,为false时阻止默认事件行为 |
srcElement | Element | 只读 | 事件目标,与DOM中的target属性相同 |
type | String | 只读 |
Event 第一部分暂时介绍到这里,后续有空再更新学习笔记。感谢观看!!