ES6 - 事件

JavaScript 旨在为您的页面添加交互性。JavaScript 使用事件机制来实现这一点。事件是文档对象模型 (DOM) 3 级的一部分,每个 HTML 元素都包含一组可以触发 JavaScript 代码的事件。

事件是软件识别的操作或发生。它可以由用户或系统触发。一些常见的事件示例包括用户单击按钮、加载网页、单击超链接等。以下是一些常见的 HTML 事件。

事件处理程序

当事件发生时,应用程序会执行一组相关任务。实现此目的的代码块称为 eventhandler。每个 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> 

成功执行上述代码后将显示以下输出。

Onclick 事件类型

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>

成功执行上述代码后将显示以下输出。

Onmouseover Onmouseout

HTML 5 标准事件

下表列出了标准的 HTML 5 事件,供您参考。该脚本表示针对该事件执行的 JavaScript 函数。

属性 说明
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 当表单更改时触发
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 当媒体元素的搜索属性不再为真且搜索已结束时触发
onseeking script 触发器当媒体元素的搜索属性为真,且搜索已开始时
onselect script 当元素被选中时触发
onstalled script 当获取媒体数据时出错时触发
onstorage script 文档加载时触发
onsubmit script 表单提交时触发
onsuspend script 浏览器已获取媒体数据但在获取整个媒体文件之前停止时触发
ontimeupdate script 当媒体改变其播放位置时触发
onundo script 当文档执行撤消时触发
onunload script 当用户离开文档时触发
onvolumechange script 当媒体改变音量时触发,当音量设置为"静音"时也触发
onwaiting script 当媒体已停止播放但预计会恢复时触发