事件的定义
事件:元素天生具备的行为方式(和写不写JS代码没有关系)【onclick不是事件,click才是事件,浏览器会把一些常用事件挂载到元素对象的私有属性上,让我们可以实现DOM0事件绑定】,当我们去操作元素的时候会触发元素的很多事件
事件绑定:给当前元素的某个事件绑定方法,目的是让当前元素某个事件被触发时,做出一些反应
事件绑定的两种方法
1.DOM0级事件绑定
curEle.οnclick=function(){};
2.DOM2级事件绑定
标准浏览器:curEle.addEventListener('click',function(){},false)
IE6-8:curEle.attachEvent('onclick',function(){})
DOM0事件
常用事件汇总
[PC端]
表单元素常用的事件
- blur:失去焦点
- focus:获取焦点
- change:内容改变
- select:被选中事件
键盘常用事件行为
- keydown:键盘按下
- keyup:键盘抬起
- keypress:键盘按下(中文输入法不能触发,英文状态下可以触发,因为文本被输入到文本框中)
鼠标常用事件行为
click:点击(不是单击)
dblclick:双击(300ms之内连续触发两次点击事件)
mouseover:鼠标滑过
mouseout:鼠标滑出
mouseenter: 鼠标进入
mouseleave: 鼠标离开
mousedown:鼠标按下(左键)
mouseup:鼠标左键抬起
mousewheel:鼠标滚轮滚动
其他常用事件行为‘
- load:加载成功
- error:加载失败
- scroll:
- resize:大小改变事件:window.onresize:浏览器窗口改变大小触发该事件
[移动端]
移动端键盘一般都是虚拟键盘,虽然存在keydown,keyup,但兼容不好,使用input事件代替
移动端没有鼠标,所以鼠标类事件在移动端兼容性非常差,mouse类事件基本无法使用
移动端大部分事件是靠手指完成的,所以它独有手指事件
- 单手指事件:touchstart touchmove touchend touchcancel
- 多手指事件:gesturestart gestuerchange gestuerend…..移动端还有很多事件是靠硬件完成的:手机传感器,陀螺仪,重力感应器等
移动端