【js】window.addEventListener介绍说明

原型

public override function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void

作用

侦听事件并处理相应的函数。

参数

1、type:String 事件的类型(去掉前面的on)。[1]


2、listener:Function 侦听到事件后处理事件的函数。 此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果,如以下示例所示: 访问修饰符 function 函数名(evt:Event):void


3、useCapture:Boolean (default = false) 这里牵扯到“事件流”的概念。侦听器在侦听时有三个阶段:捕获阶段、目标阶段和冒泡阶段。顺序 为:捕获阶段(根节点到子节点检查是否调用了监听函数)→目标阶段(目标本身)→冒泡阶段(目标本身到根节点)。此处的参数确定侦听器是运行于捕获阶段、 目标阶段还是冒泡阶段。 如果将 useCapture 设置为 true,则侦听器只在捕获阶段处理事件,而不在目标或冒泡阶段处理事件。 如果useCapture 为 false,则侦听器只在目标或冒泡阶段处理事件。 要在所有三个阶段都侦听事件,请调用两次 addEventListener,一次将 useCapture 设置为 true,第二次再将useCapture 设置为 false。 

4、priority:int (default = 0) 事件侦听器的优先级。 优先级由一个带符号的 32 位整数指定。 数字越大,优先级越高。 优先级为 n 的所有侦听器会在优先级为 n -1 的侦听器之前得到处理。 如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。 默认优先级为 0。


5、useWeakReference:Boolean (default = false) 确定对侦听器的引用是强引用,还是弱引用。 强引用(默认值)可防止您的侦听器被当作垃圾回收。 弱引用则没有此作用。



参考:

[1]

Window 事件属性

针对 window 对象触发的事件(应用到 <body> 标签):

属性描述
onafterprintscript文档打印之后运行的脚本。
onbeforeprintscript文档打印之前运行的脚本。
onbeforeunloadscript文档卸载之前运行的脚本。
onerrorscript在错误发生时运行的脚本。
onhaschangescript当文档已改变时运行的脚本。
onloadscript页面结束加载之后触发。
onmessagescript在消息被触发时运行的脚本。
onofflinescript当文档离线时运行的脚本。
ononlinescript当文档上线时运行的脚本。
onpagehidescript当窗口隐藏时运行的脚本。
onpageshowscript当窗口成为可见时运行的脚本。
onpopstatescript当窗口历史记录改变时运行的脚本。
onredoscript当文档执行撤销(redo)时运行的脚本。
onresizescript当浏览器窗口被调整大小时触发。
onstoragescript在 Web Storage 区域更新后运行的脚本。
onundoscript在文档执行 undo 时运行的脚本。
onunloadscript一旦页面已下载时触发(或者浏览器窗口已被关闭)。

Form 事件

由 HTML 表单内的动作触发的事件(应用到几乎所有 HTML 元素,但最常用在 form 元素中):

属性描述
onblurscript元素失去焦点时运行的脚本。
onchangescript在元素值被改变时运行的脚本。
oncontextmenuscript当上下文菜单被触发时运行的脚本。
onfocusscript当元素失去焦点时运行的脚本。
onformchangescript在表单改变时运行的脚本。
onforminputscript当表单获得用户输入时运行的脚本。
oninputscript当元素获得用户输入时运行的脚本。
oninvalidscript当元素无效时运行的脚本。
onresetscript当表单中的重置按钮被点击时触发。HTML5 中不支持。
onselectscript在元素中文本被选中后触发。
onsubmitscript在提交表单时触发。

Keyboard 事件

属性描述
onkeydownscript在用户按下按键时触发。
onkeypressscript在用户敲击按钮时触发。
onkeyupscript当用户释放按键时触发。

Mouse 事件

由鼠标或类似用户动作触发的事件:

属性描述
onclickscript元素上发生鼠标点击时触发。
ondblclickscript元素上发生鼠标双击时触发。
ondragscript元素被拖动时运行的脚本。
ondragendscript在拖动操作末端运行的脚本。
ondragenterscript当元素元素已被拖动到有效拖放区域时运行的脚本。
ondragleavescript当元素离开有效拖放目标时运行的脚本。
ondragoverscript当元素在有效拖放目标上正在被拖动时运行的脚本。
ondragstartscript在拖动操作开端运行的脚本。
ondropscript当被拖元素正在被拖放时运行的脚本。
onmousedownscript当元素上按下鼠标按钮时触发。
onmousemovescript当鼠标指针移动到元素上时触发。
onmouseoutscript当鼠标指针移出元素时触发。
onmouseoverscript当鼠标指针移动到元素上时触发。
onmouseupscript当在元素上释放鼠标按钮时触发。
onmousewheelscript当鼠标滚轮正在被滚动时运行的脚本。
onscrollscript当元素滚动条被滚动时运行的脚本。

Media 事件

由媒介(比如视频、图像和音频)触发的事件(适用于所有 HTML 元素,但常见于媒介元素中,比如 <audio>、<embed>、<img>、<object> 以及 <video>):

属性描述
onabortscript在退出时运行的脚本。
oncanplayscript当文件就绪可以开始播放时运行的脚本(缓冲已足够开始时)。
oncanplaythroughscript当媒介能够无需因缓冲而停止即可播放至结尾时运行的脚本。
ondurationchangescript当媒介长度改变时运行的脚本。
onemptiedscript当发生故障并且文件突然不可用时运行的脚本(比如连接意外断开时)。
onendedscript当媒介已到达结尾时运行的脚本(可发送类似“感谢观看”之类的消息)。
onerrorscript当在文件加载期间发生错误时运行的脚本。
onloadeddatascript当媒介数据已加载时运行的脚本。
onloadedmetadatascript当元数据(比如分辨率和时长)被加载时运行的脚本。
onloadstartscript在文件开始加载且未实际加载任何数据前运行的脚本。
onpausescript当媒介被用户或程序暂停时运行的脚本。
onplayscript当媒介已就绪可以开始播放时运行的脚本。
onplayingscript当媒介已开始播放时运行的脚本。
onprogressscript当浏览器正在获取媒介数据时运行的脚本。
onratechangescript每当回放速率改变时运行的脚本(比如当用户切换到慢动作或快进模式)。
onreadystatechangescript每当就绪状态改变时运行的脚本(就绪状态监测媒介数据的状态)。
onseekedscript当 seeking 属性设置为 false(指示定位已结束)时运行的脚本。
onseekingscript当 seeking 属性设置为 true(指示定位是活动的)时运行的脚本。
onstalledscript在浏览器不论何种原因未能取回媒介数据时运行的脚本。
onsuspendscript在媒介数据完全加载之前不论何种原因终止取回媒介数据时运行的脚本。
ontimeupdatescript当播放位置改变时(比如当用户快进到媒介中一个不同的位置时)运行的脚本。
onvolumechangescript每当音量改变时(包括将音量设置为静音)时运行的脚本。
onwaitingscript当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本


版权声明:本文为q6678188原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。