js事件总结之概述

何为事件

说到事件,总会想到何为事件,我理解的事件就是由于用户的某些行为使浏览器产生了交互、响应。我查了百度百科,它说:“当文档、浏览器、元素或与之相关的对象发生某些有趣的事情,web浏览器就会产生事件。”额、、、额,就是对象具体些,道理好像是一样。还没我的好懂,哈哈,下面是本家及书籍总结之言,理解就行。

事件类型

事件类型是用来说明发生什么类型事件的字符串,如:click、dblclick、keydown、mouseover、mouseout等等,其分为如下几种情况:

传统事件类型

处理鼠标、键盘、html表单和window对象的事件是web应用中常用的得到广泛支持。

表单事件

说白话一点,简练一点后,即:表单事件,如提交表单和重置表单时,<form>元素分别触发submit事件和reset事件,以及用户与表单类按钮元素交互时,会触发click事件。另外还有当用户通过输入文字,选择选项或选择复选框来改变表单元素状态时,此时会触发change事件。当选中或着移出表单元素(如:text、password、textarea等)会分别触发focus和blur事件。tips:focus和blur事件不会冒泡,但其他所有表单事件都阔以。

window事件

官方术语☞:window事件是指事件的发生与浏览器窗口本身而非窗口中显示的任何特定文档内容相关。
1:load事件,是指外部资源完全加载完毕,浏览器才触发事件处理函数。
2:DOMContentLoaded及readystatechange事件是load事件的替代方案,即当文档和其元素为操作准备就绪,但外部资源未完全加载,浏览器也会尽早地触发它们。
3:unload事件:当用户离开当前文档转向其他文档时,触发该事件,但有一点蛮好的,就是unload事件阔以保存用户的状态。
4:beforeunload事件:与unload事件类似,但有一点特色,就是当它转向其它文档时,提供了询问用户是否确定离开当前页面的机会。
5:window对象中的onerror属性有点像事件处理程序(但不是),当js出差错时触发它。
6:resize事件和scroll事件:当用户调整浏览器窗口大小或滚动它是触发。
window当然还有一些其它一些事件如:focus及blur

鼠标事件

当用户在文档上移动或单击鼠标时都会产生鼠标事件。
其中:
1:clientX和clientY属性指定了鼠标在窗口坐标中的位置。
2:button和which属性指定了按下的鼠标键是哪个。
3:对于click事件,detail属性指定了其是单击,双击(dblclick),三击。
4:鼠标移动时,就会触动mousemove事件,因此mouseover事件处理程序一定不能触发计算密集型任务。
5:当注册mousedown和mousemove事件处理程序,阔以探测和响应鼠标的拖动。
6:在mousedown事件和mouseup事件队列之后,浏览器也会触发click事件。
7:当单击鼠标右键时,浏览器通常会显示上下文菜单(context menu),在显示之前,它们会通常会触发contextmenu事件。
8:当用户滚动滑轮时,浏览器触发mousewheel事件(注意:firefox中是DOMMouseScroll事件)。传递的事件对象属性是指滚轮转动的大小和方向。

Dom事件

dom事件蛮多的,就举例如下:
1:3级dom事件规范标准化了不冒泡的focusin和focusout事件来取代冒泡的focus和blur事件。
2:标准化来不冒泡的mouseenter和mouseleave事件来取代冒泡的mouseover和mouseout事件。

Html5事件

html5及相关标准定义了大量新的web应用API。
如:
1:广泛推广的html5特性之一是加入用于播放音频和视频的<audio>和<video>标签,其中有关于网络事件、数据缓冲状况和播放状态的事件状态。
2:html5的拖放API,有着7个事件类型,分别是:drag、drop、dragend、dragstar、dragover、dragenter、dragleave。
3:html5定义了历史管理机制,它允许web应用同浏览器的返回和前进按钮交互。这个机制就涉及的事件是hashchange和popstate事件。
4:html5为html表单也定义了大量的新特性。如表单验证机制,其中当验证失败时在表单元素上会触发invaild事件。
5:html5包含了对离线web应用的支持,其中俩个最重要事件是offline事件和online事件,无论何时浏览器失去或得到网络连接都会在window对象上触发它们。
6:也有很多web应用api都使用message事件进行异步通信。

触摸屏和移动设备事件

强大的移动设备的广泛采用(特别是使用触摸屏的那些设备)需要建立新的事件类别。
1:当旋转这些设备时会触发orientationchange事件。
2:手势事件:当手势事件开始时会触发gesturestart事件,而手势结束时生成gestureend事件。在俩者事件之间就是跟踪手势过程的gesturechange事件队列,其中这些事件传递的事件对象有数字属性scale和rotation。
3:触摸事件:触摸屏幕则触发touchstart事件,而当手指移动时会触发touchmove事件,当手指离开屏幕会触发touchend事件。

生活寄语

心理充满激情奋斗的时候,做事更要细而专!额,切记



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值