ES6 事件
ES6 事件
JavaScript设计之初是为了向HTML页面添加交互功能。JavaScript使用事件机制来执行此操作。事件是文档对象模型(DOM)3级的一部分,每个html元素包含一组可以触发JavaScript事件。
事件是软件识别的动作或事件,它可以由用户或系统触发。一些常见的事件示例包括用户单击按钮、加载网页、单击超链接等。以下是一些常见的html事件。
事件处理程序
在事件发生时,应用程序执行一组相关的任务。达到此目的的代码块称为事件处理程序。每个html元素都有一组与它关联的事件。我们可以使用事件处理程序定义如何在JavaScript中处理这些事件。
onclick事件类型
,当用户单击鼠标左键的时候触发,这是最常用的事件类型。您可以放置您的验证、警告等。针对此事件类型。
例子
<html> <head> <script type = "text/javascript"> function sayHello() { document.write ("Hello World") } </script> </head> <body> <p> Click the following button and see result</p> <input type = "button" onclick = "sayHello()" value = "Say Hello" /> </body> </html>
onsubmit事件类型
onsubmit是当您尝试提交表单时发生的事件。您可以针对此事件类型放置表单验证。
下面的示例演示如何使用onsubmit。在向web服务器提交表单数据之前,我们正在调用validate()函数。如果validate()函数返回true,则表单将提交,否则它将不会提交数据。
例子
<html> <head> <script type = "text/javascript"> function validation() { all validation goes here ......... return either true or false } </script> </head> <body> <form method = "POST" action = "t.cgi" onsubmit = "return validate()"> ....... <input type = "submit" value = "Submit" /> </form> </body> </html>
onmouseover和onmouseout事件
这两个事件类型可以帮助您创建良好的交互效果,图像或文本。当您将鼠标移到任何元素上的时候触发onmouseover,当您将鼠标从该元素移出时触发onmouseout.
例子
<html> <head> <script type = "text/javascript"> function over() { document.write ("Mouse Over"); } function out() { document.write ("Mouse Out"); } </script> </head> <body> <p>Bring your mouse inside the division to see the result:</p> <div onmouseover = "over()" onmouseout = "out()"> <h2> This is inside the division </h2> </div> </body> </html>
HTML5标准事件
下表列出了标准的html5事件,供您参考。
事件 | 类型 | 描述 |
---|---|---|
offline | script | 当文档脱机时触发 |
onabort | script | 中止事件时触发 |
onafterprint | script | 打印文档后触发 |
onbeforeonload | script | 在文档加载之前触发 |
onbeforeprint | script | 在打印文档之前触发 |
onblur | script | 当窗口失去焦点时触发 |
oncanplay | script | 当媒体可以开始播放时触发,但可能停止缓冲 |
oncanplaythrough | script | 当媒体可以播放到结尾时触发,而不停止缓冲 |
onchange | script | 元素更改时触发 |
onclick | script | 鼠标点击时触发 |
oncontextmenu | script | 触发上下文菜单时触发 |
ondblclick | script | 鼠标双击时触发 |
ondrag | script | 拖动元素时触发 |
ondragend | script | 拖动操作结束时触发 |
ondragenter | script | 当元素被拖动到有效的拖放目标时触发 |
ondragleave | script | 当元素离开有效的拖放目标时触发 |
ondragover | script | 当元素被拖动到有效的拖放目标上时触发 |
ondragstart | script | 在拖动操作开始时触发 |
ondrop | script | 当拖放元素被丢掉时触发 |
ondurationchange | script | 媒体介质长度更改时触发 |
onemptied | script | 当媒体资源元素突然变为空时触发 |
onended | script | 当媒体结束时触发 |
onerror | script | 发生错误时触发 |
onfocus | script | 当窗口得到焦点时触发 |
onformchange | script | 当form更改时触发 |
onforminput | script | 表单获取用户输入时触发 |
onhaschange | script | 当文档发生更改时触发 |
oninput | script | 元素获取用户输入时触发 |
oninvalid | script | 元素无效时触发 |
onkeydown | script | 按下键盘按键时触发 |
onkeypress | script | 当键盘被按下并释放时触发 |
onkeyup | script | 键盘按键被释放时触发 |
onload | script | 当文档加载时触发 |
onloadeddata | script | 当文档加载完毕时触发 |
onloadedmetadata | script | 当元数据(比如分辨率和时长)被加载时触发 |
onloadstart | script | 在文件开始加载且未实际加载任何数据前触发 |
onmessage | script | 有消息时触发 |
onmousedown | script | 按下鼠标按钮时的触发器 |
onmousemove | script | 鼠标指针移动时触发 |
onmouseout | script | 当鼠标指针移出元素时触发 |
onmouseover | script | 当鼠标指针移到元素上时触发器 |
onmouseup | script | 当鼠标按钮被释放时触发 |
onmousewheel | script | 当鼠标轮旋转时触发 |
onoffline | script | 当文档脱机时触发 |
ononline | script | 当文档在线时触发 |
onpagehide | script | 隐藏窗口时触发 |
onpageshow | script | 当窗口可见时触发器 |
onpause | script | 当媒体介质数据暂停时触发 |
onplay | script | 当媒体数据开始播放时触发 |
onplaying | script | 当媒体数据正在播放时触发 |
onpopstate | script | 当窗口的历史更改时触发 |
onprogress | script | 当浏览器获取媒体数据时触发 |
onratechange | script | 当媒体数据的播放速率发生更改时触发 |
onreadystatechange | script | 当就绪状态更改时触发 |
onredo | script | 当文档执行重做时触发 |
onresize | script | 在调整窗口大小时触发 |
onscroll | script | 当滚动条的滚动条滚动时触发 |
onseeked | script | 当媒体元素的seek属性不再是true时触发 |
onseeking | script | 当媒体元素的seek属性为true时触发 |
onselect | script | 当选择元素时触发 |
onstalled | script | 当获取介质数据时出错时触发 |
onstorage | script | 当文档加载时触发 |
onsubmit | script | 提交表单时触发 |
onsuspend | script | 当浏览器获取媒体数据时触发,但在获取整个媒体文件之前停止 |
ontimeupdate | script | 当媒体改变其播放位置时触发 |
onundo | script | 当文档执行撤消时触发 |
onunload | script | 当用户离开文档时触发 |
onvolumechange | script | 当媒体介质更改音量时,或者在音量设置为“静音”时触发 |
onwaiting | script | 当媒体停止播放时触发,但预计将恢复播放 |