鼠标事件:
事件
描述
onclick
单击元素
oncontextmenu
右键弹出菜单
ondbclick
双击元素
onmousedown
元素上按下鼠标键
onmouseenter
鼠标指针移动到元素上
onmouseleave
鼠标移动到元素外
onmousemove
鼠标指针在元素上移动
onmouseover
鼠标指针移动到一个元素或其子元素
键盘事件:
onkeydown
按下一个键
onkeypress
按下并弹起按键
onkeyup
释放按键
onerror
加载外部文件错误
onload
加载对象
onresize
调整视图大小
onscroll
滚动条
表单事件:
onblur
失去焦点
onchange
状态变化
onfocus
获得焦点
onreset
重置表单
onselect
选择文本
onsubmit
提交表单
以上是JavaScript中的常用事件。
事件处理器:
它是JavaScript检测到一个特定事件时所执行的一段代码。
内联处理器:
通常就是直接在事件中直接处理的。可以明确写javascript:,也可以省略。
作为DOM对象的属性的事件处理器:
以上代码,我们可以看出,页面中有一个按钮,我们需要给这个按钮添加一个onclick单击事件,我们可以在页面加载函数window.onload中,先获取按钮对象,然后给对象的onclick事件,添加一个匿名处理函数,函数中只有一个处理操作,就是弹出提示框。
如果不适用匿名函数,使用具名函数也是可以的。
这里需要记住,在给button1对象的onclick事件赋值处理函数时,只需要赋值函数名称即可,不需要带括号,因为带括号意味着执行函数体的代码。
使用addEventListener()方法:
当我们需要给一个元素添加多个事件处理器时,就需要使用这个方法了。
这里需要注意一点,就是addEventListener方法中,对事件的参数不需要带on,比如按钮的单击事件是onclick,参数1添加时,只需要写click,就可以了。你可以这样理解,把事件中的on去掉,就是参数1。
从上面代码中,可以看到,我们可以对一个按钮添加了两个处理函数,分别处理不同的内容。
当我们需要对添加的多余处理函数,移除时,可以这样:
以上代码,我们通过移除,就可以动态的把button1对象的全部处理时间函数,都拿掉了。
event对象:
在键盘事件中,很多时候我们需要知道用户具体按下了什么键,可以通过event对象获得。
以上代码中,有一个文本输入框,我们为其添加了一个onkeydown事件,处理函数中,判断当按下esc键时,弹出提示框。event对象的keyCode属性获取按键码,27代表esc键。
事件的发生顺序:
当点击鼠标按键时,mousedown,mouseup和click,是按照什么顺序发生的呢?
mousedown和mouseup事件都在click事件之前发生。
下节我们分享关于逻辑控制的内容。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iY0UGO4I2MiRDO5QWY2EGOlZjYkVTO0QjNyUmMhFTYk9CX2AzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.png)