目录

事件

1. 鼠标事件

2. 键盘事件

3. 触摸事件

4. 表单事件

5. 过渡事件

6. 动画事件

事件对象

1. 事件对象

2. 鼠标事件对象

3. 键盘事件对象

4. 触摸事件对象


事件

事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。

注意:事件名称大小写敏感。若是事件监听方式,则在事件名的前面取消on。 

1. 鼠标事件

鼠标事件触发条件
onclick鼠标点击左键触发
oncontextmenu鼠标点击右键触发
ondblclick鼠标双击触发
onmouseover鼠标经过触发
onmouseout鼠标离开触发
onfocus获得鼠标焦点触发
onblur失去鼠标焦点触发
onmousemove鼠标移动触发
onmouseup鼠标弹起触发
onmousedown鼠标按下触发

 给btn按钮添加点击事件,点击弹出 你好!

let btn = document.querySelector('button')
btn.onclick = function() {
    alert('你好!')
}

2. 键盘事件

键盘事件触发条件
onkeyup某个键盘按键被松开时触发
onkeydown某个键盘按键被按下时触发
onkeypress某个键盘按键被按下时触发 不识别功能键 比如 ctrl 等

键盘按键被松开时触发,弹出 你好 !

window.onkeyup = function() {
    alert('你好!')
}

3. 触摸事件

触摸touch事件说明
touchstart手指触摸到一个 DOM 元素时触发
touchmove手指在一个 DOM 元素上滑动时触发
touchend手指从一个 DOM 元素上移开时触发

 手指触摸盒子触发

let div = document.querySelector('div')
div.ontouchstart = function() {
    alert('您触摸了盒子')
}

4. 表单事件

表单事件触发条件
onfocus表单获得焦点触发
onblur表单失去焦点触发
oninput表单每次输入触发
onchange表单内容发生改变时触发
onselect表单文本被选取时触发
onreset表单重置时触发
onsubmit表单提交时触发

将表单内每次输入的内容打印到控制台 

let input = document.querySelector('input')
input.oninput = function() {
    console.log(this.value);
}

5. 过渡事件

过渡事件触发条件
ontransitionend在过渡完成时触发

6. 动画事件

动画事件触发条件
onanimationend在动画结束播放时触发
onanimationiteration在动画重复播放时触发
onanimationstart在动画开始播放时触发

事件对象

1. 事件对象

事件对象属性方法说明
e.target返回触发事件的对象
e.type返回事件的类型 比如click mouseover 不带on
e.preventDefault()该方法阻止默认事件 比如禁止页面右键
e.stopPropagation()阻止事件冒泡

  点击按钮后打印出触发事件的对象

let btn = document.querySelector('button')
btn.onclick = function(e) {
    console.log(e.target);
}

2. 鼠标事件对象

鼠标事件对象说明
e.clientX返回鼠标相对于浏览器窗口可视区的 X 坐标
e.clientY返回鼠标相对于浏览器窗口可视区的 Y 坐标
e.pageX返回鼠标相对于文档页面的 X 坐标  IE9+支持
e.pageY返回鼠标相对于文档页面的 Y 坐标  IE9+支持
e.screenX返回鼠标相对于电脑屏幕的 X 坐标
e.screenY返回鼠标相对于电脑屏幕的 Y 坐标

3. 键盘事件对象

键盘事件对象说明
e.key返回用户按下的物理按键的值

 在页面按下 A 键后,弹出按下的物理按键的值

window.addEventListener('keyup', function(e) {
    alert(e.key)
})

 注意:key 大小写敏感

4. 触摸事件对象

触摸列表说明
touches正在触摸屏幕的所有手指的一个列表
targetTouches正在触摸当前 DOM 元素上的一个手指的一个列表
changeTouches手指状态发生了改变的列表,从无到有,从有到无变化
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐