1、使用简单事件处理器
1.1 实现简单的内联事件处理器
使用某个事件属性最直接的方式是给它指派一组JavaScript语句。当该事件被触发后,浏览器就会执行你提供的语句。
1.2 实现一个简单的事件处理函数
为了在一定程度上解决繁琐和重复添加问题,我们可以定义一个函数,并将函数名指定为元素事件属性的值。
2、使用DOM和事件对象
如果你想要进行更为复杂的处理(以及更优雅地定义事件处理器),就需要使用DOM和JavaScript的Event对象了。
2.1 按类型区分事件
type属性会告诉你正在处理的是哪种类型的事件。这个值以字符串的形式提供,比如mouseover。有了探测事件类型的能力,你就可以用一个函数来处理多个类型了。
2.2 理解事件流
一个事件的生命周期包括三个阶段:捕捉(( capture)、目标( target)和冒泡( bubbling)。在这一节里,我会分别解释这些阶段,向你展示它们是如何工作的,以及如何使用事件监听函数来控制它们。
2.3 使用可撤销事件
有些事件定义了一种默认的行为,会在事件被触发时执行。举个例子,a元素click事件的默认行为是浏览器会载入href属性所指定的URL的内容。当某一事件拥有默认行为时,它的cancelable属性就会是true。你可以调用preventDefault函数来阻止默认行为的执行。
3、使用HTML事件
3.1 文档和窗口事件
readystatechange
onabort
onafterprint
onbeforeprint
onerror
onhashchange
onload
onpopsttate
onresize
onunload
3.2 使用鼠标事件
click
dblclick
mousedown
mouseenter
mouseleave
mousemove
mouseout
mouseup
MouseEvent对象:button,altkey,clientX,clientY,ScreenX,ScreenY,shiftKey,ctrlKey
3.3 使用键盘焦点事件
blur,
focus
focusin
focusout
relatedTarget
3.4 使用键盘事件
keydown
keypress
keyup
char
key
ctrlKey
shiftKey
altKey
repeat
3.5 使用表单事件
submit