什么是“事件监听”
DOM允许我们书写JS代码,来让HTML元素对事件作出反应;
事件:用户与网页的交互动作;eg:点击网页;
监听:是为了让计算机随时能够发现这个事件发生了,从而执行程序员预先编写的一些程序;
设置事件监听的方法主要有onxxx和addEventListener()两种;
最简单的设置事件监听的方法
设置它们的onxxx属性;
oBox.onclick = function () {
    // 点击盒子时,将执行这里的语句
}
常见的鼠标事件监听
| 事件名 | 事件描述 | 
|---|---|
| onclick | 当鼠标单机某个对象 | 
| ondblclick | 当鼠标双击某个对象 | 
| onmousedown | 当某个鼠标按键在某个对象上被按下 | 
| onmouseup | 当某个鼠标按键在某个对象上被松开 | 
| onmousemove | 当某个鼠标按键在某个对象上被移动 | 
| onmouseenter | 当鼠标进入某个对象(相似事件onmouseover) | 
| onmouseleave | 当鼠标离开某个对象(相似事件onmouseout) | 
常见的键盘事件监听
| 事件名 | 事件描述 | 
|---|---|
| onkeypress | 当某个键盘的键被按下(系统按钮,如箭头键和功能键无法得到识别) | 
| onkeydown | 当某个键盘的键被按下(系统按钮可以识别,并且会先于onkeypress发生) | 
| onkeyup | 当某个键盘的键被松开 | 
常见的表单事件监听
| 事件名 | 事件描述 | 
|---|---|
| 
 onchange  | 
当用户改变某个表单域的内容时,会触发 | 
| onfocus | 当某元素获得焦点(比如tab键或鼠标点击) | 
| onblur | 当某元素失去焦点 | 
| onsubmit | 当表单被提交 | 
| onreset | 当表单被重置 | 
常见的页面事件监听
| 事件名 | 事件描述 | 
|---|---|
| onload | 当页面或图像被完成加载 | 
| onunload | 当用户退出页面 | 
事件的传播
先从外到内(捕获阶段),然后再从内到外(冒泡阶段)
而,onxxx这样的写法(DOM0级),只能监听冒泡阶段;所以需要用到addEventListener()方法(DOM2级);
oBox1.addEventListener('click', function(){
    // 这是事件处理函数
}, true)  // true表示监听捕获阶段,false表示监听冒泡阶段
注意事项
- 最内部的元素不再区分捕获和冒泡阶段,会先执行写在前面的监听,然后执行后写的监听;
 - 如果给元素设置相同的两个或多个同名事件,则DOM0级写法后面写的会覆盖先写的;而DOM2级会按顺序执行;