- 事件就是文档或浏览器窗口中发生的一些特定的交互瞬间
- JavaScript与HTML之间的交互是通过事件实现的
- 对于web应用来说,有下面这些代表性的事件:点击某个元素、将鼠标移动至某个元素的上方、按下键盘上某个键,等等
事件的命名规则
JavaScript中事件的命名都是描述性的,比较容易理解,如单击(click)、双击(dblclick)、提交(submit)、按下鼠标(mousedown)等等。
事件 | 说明 |
---|---|
load | 文档载入事件 |
resize | 改变窗口大小事件 |
click | 单击事件 |
dblclick | 双击事件 |
mousedown | 按下鼠标事件 |
mouseover | 鼠标经过事件 |
mouseup | 鼠标按钮弹起事件 |
keydown | 键盘按键按下事件 |
keyup | 键盘按键弹起事件 |
change | 元素内容改变事件 |
submit | 提交按钮事件 |
focus | 获得焦点事件 |
blur | 失去焦点事件 |
事件处理
在JavaScript中,事件处理可以分为三个部分:
- 触发事件
- 启动事件处理程序
- 事件处理程序对相关事件进行处理,返回处理结果
- 在事件处理中,必须通过指定的事件对象来启动事件处理程序,才能完成相应事件的操作
- 事件处理程序可以使用任何JavaScript代码来完成,但是一般使用自定义函数来对事件进行处理
- 在事件处理中,程序代码的执行顺序并不是按照代码的顺序从上往下的执行的,而是事件触发的需求来执行的
- 当触发一个事件,该事件的处理程序就会被启动执行,不管这段程序代码在程序中的什么位置
- 在JavaScript中,由于事件是用户交互产生的,所以其触发的顺序是无法预测的,其执行程序的路径都是不同的
事件分类
- 页面事件:指因页面状态的变化而产生的事件,主要包括文档载入和文档卸载事件、改变窗口大小事件、文档装载错误事件等等
- 鼠标事件:指用户进行单击或移鼠标操作产生的事件,主要包括单击事件、双击事件、鼠标按下事件、鼠标弹起事件、鼠标经过事件、鼠标移动事件、鼠标移开事件等等
- 键盘事件:指用户在键盘敲击、输入时触发的事件,包括按键事件、按下事件、弹起事件等
- 表单事件:指与表单相关的事件,是JavaScript中最常用的事件,包括表单提交事件、表单重置事件、表单元素内容改变事件、文本选中事件、获得焦点事件、失去焦点事件
事件绑定
事件绑定是指将HTML文档的元素事件属性与事件处理程序相关联,使得当事件发生时会触发该事件关联函数的执行,在JavaScript中,事件的绑定有两种方式,一种是静态绑定,一种是动态绑定
1.事件的属性
事件绑定是通过事件的属性进行绑定的,事件的属性是指在事件名称前加上前缀“on”,在JavaScript中,事件属性名称就是“on”+“事件名称”。如click是单击事件名,onclick就是对应的事件属性名,也可以将事件属性名简写为事件名
2.静态绑定
静态绑定是指将事件处理程序直接作为HTML元素的事件属性值。
语法:事件属性名 = “事件处理程序”
<button name = "butname" onclick = "alert('hello');">点我一下</button>
3.动态绑定
在JavaScript中,事件也是一个对象,也可以通过.来调用事件。动态绑定就是指将事件处理函数赋值给HTML元素对象的事件属性
语法:元素对象.事件属性=函数对象
button.onclick = function(){
alert("hello");
};