「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战」
我们知道,js事件是为了实现用户交互,比如当用户鼠标点击或者键盘输入时,浏览器会监听截获并且通知js做出反馈执行相应的函数,实现交互。
js的事件类型有很多,我们先来大概总结一下常用的JS事件
说明:
- JS的事件有非常的多,本文仅列举一些常见的事件
- 为了方便将常见的事件分为以下几类, 鼠标事件、键盘事件、文本类操作事件以及其他,下面会具体分类
- 鼠标事件
click点击事件、mousedown鼠标按下事件、mousemove鼠标移动事件、mouseup鼠标抬起事件 contextmenu右键出菜单事件、mouseenter/mouseover鼠标进入事件、mouserleave/mouseout鼠标离开事件
可通过事件对象的button属性来区分是左键\滚轮\右键,分别对应值 0 / 1 / 2 DOM3规定:click事件只能监听左键;只能通过mousedown和mouseup来判断鼠标键
- 键盘事件
keydown某键被按下时、keyup被松开时、keypress按下并且松开时
触发顺序:先 keydown,然后keypress,最后keyup
keydown和keypress的区别:
- keydown可以响应任意按键,keypress只能响应字符类按键
- keypress返回ASCII 码, 可以转成相应的字符
- 文本类操作事件
input:文本变化时触发 change:聚焦或失去焦点时判断状态是否改变,发生改变是触发change事件 focus:聚焦时触发 blur:失去焦点时触发
利用focus和blur可模拟placeholder
<input type="text" name="user" value="请输入用户名" style="color:#999"
onfocus="if(this.value=='请输入用户名'){this.value = '';this.style.color='#424242'}"
onblur="if(this.value == ''){this.value = '请输入用户名';this.style.color='#999'}" >
- 其他
scroll:滚动条滚动时 load:页面加载完触发 abort:图像的加载失败 dblclick:双击事件 error:当加载图像和文档时发生错误 resize:窗口或者框架被重新调整大小 select:文本被选中时 reset:点击重置按钮时 submit:点击提交按钮时