事件3要素
- 事件源
- 事件类型
- 事件处理函数
事件绑定的方式
var btn=document.querySelector('button')
btn.onclick=function(){
console.log('传统绑定')
}
var btn=document.querySelector('button')
btn.addEventListener('click',function(){
console.log('现代绑定')
})
<div onclick='btn()'></div>
function btn(){
console.log('属性绑定')
}
事件对象event
function getEvent(e){
e=e||window.event
console.log(e)
}
获取单击事件鼠标的坐标
- offsetX、offsetY
相对于带定位的父元素(没有定位相当于浏览器可视区)
- clientX、clientY
相对于浏览器可视区
- pageX、pageY
相对于文档
var box=document.querySelector('div')
box.onclick=function(e){
e=e||window.event
console.log(e.offsetX)
console.log(e.offsetY)
console.log(e.clientX)
console.log(e.clientY)
console.log(e.pageX)
console.log(e.pageY)
}
阻止默认事件
function getEvent(e){
e=e||window.event
if(e.stopPropagation){
e.stopPropagation()
}else{
e.cancelBubble = true
}
}
获取目标对象
var ul =document.querySelector('ul')
ul.addEventListener('click',function(e){
e=e||window.event
var target=e.target||e.srcElement
})
事件委托``
鼠标事件
- click
点击事件
- dbclick
双击事件
- contextmenu
右键单击事件
- mousedown
鼠标左键按下事件
- mouseup
鼠标左键抬起事件
- mousemove
鼠标移动
- mouseover
鼠标移入事件
- mouseout
鼠标移出事件
- mouseenter
鼠标移入事件
- mouseleave
鼠标移出事件
键盘事件
- keyup
键盘抬起事件
- keydown
键盘按下事件
- keypress
键盘按下再抬起事件
表单事件和焦点事件
- change
表单内容改变事件
- input
表单内容输入事件
- submit
表单提交事件
- onblur
失去焦点
- focus
获取焦点
触摸事件
- touchstart :
触摸开始事件
- touchend :
触摸结束事件
- touchmove :
触摸移动事件