JavaScript 事件

时间:2019-08-20 13:50:44  来源:igfitidea点击:

什么是事件(event)?

发生了某个事情称之为事件

  1. 当页面加载时,它被称为事件。
  2. 当用户单击按钮时,该单击也是一个事件。
  3. 其他例子比如:按下键盘、关闭窗口、调整窗口大小等事件。

JavaScript与HTML的交互是通过用户或浏览器操作页面时发生的事件来处理的。

开发人员可以使用事件来执行JavaScript代码作为响应。

事件是Document Object Model (DOM) Level 3的一部分,每个HTML元素都包含一组可以触发JavaScript代码的事件。

onclick事件类型

这是最常见的事件类型,当用户单击鼠标左键时发生。

onclick事件例子

<html>
   <head>   
      <script type = "text/javascript">
            function sayHello() {
               alert("Hello World")
            }
      </script>      
   </head>
   
   <body>
      <p>点击下面的按钮</p>      
      <form>
         <input type = "button" onclick = "sayHello()" value = "Say Hello" />
      </form>      
   </body>
</html>

onsubmit事件类型

onsubmit是尝试提交表单时发生的事件。
我们可以根据此事件类型进行表单验证。

onsubmit事件例子

下面的示例中,我们在向web服务器提交表单数据之前通过事件触发,调用validate()函数。
如果validate()函数返回true,则表单将被提交,否则将不提交数据。

<html>
   <head>   
      <script type = "text/javascript">
            function validation() {
               // 这里进行数据校验 根据校验结果返回true或者false
               // return true
            }
      </script>      
   </head>
   
   <body>   
      <form method = "POST" onsubmit = "return validate()">
         <input type = "submit" value = "Submit" />
      </form>      
   </body>
</html>

onmouseover和onmouseout

  1. 当我们将鼠标移到任何元素上时,onmouseover事件会触发;
  2. 当我们将鼠标移出该元素时,onmouseout事件会触发。
<html>
   <head>   
      <script type = "text/javascript">
            function over() {
               console.log ("鼠标滑过");
            }            
            function out() {
               console.log ("鼠标划走");
            }            
      </script>      
   </head>
   
   <body>
      <p>将鼠标画过下面文字,查看效果</p>      
      <div onmouseover = "over()" onmouseout = "out()">
         <h2>鼠标事件</h2>
      </div>         
   </body>
</html>

HTML 5标准事件

下面列出了标准的HTML 5事件:

事件说明
Offline当文档脱机时触发
Onabort在中止事件上触发
onafterprint在文档打印后触发
onbeforeonload在加载文档之前触发
onbeforeprint在打印文档之前触发
onblur当窗口失去焦点时触发
oncanplay触发时,媒体可以开始播放,但可能不得不停止为缓冲
oncanplaythrough触发时,媒体可以播放到最后,而不停止为缓冲
onchange当元素发生变化时触发
onclick触发鼠标点击
oncontextmenu当上下文菜单被触发时触发
ondblclick触发鼠标双击
ondrag当一个元素被拖动时触发
ondragend在拖动操作结束时触发
ondragenter当元素被拖放到有效的拖放目标时触发
ondragleave当将元素拖放到有效的拖放目标上时触发
ondragover在拖动操作开始时触发
ondragstart在拖动操作开始时触发
ondrop被拖动的元素被删除时的触发器
ondurationchange当媒体长度改变时触发
onemptied当媒体资源元素突然变为空时触发。
onended当媒体到达终点时触发
onerror当错误发生时触发
onfocus当窗口获得焦点时触发
onformchange当表单发生变化时触发
onforminput当表单获取用户输入时触发
onhaschange当文档发生更改时触发
oninput当元素获取用户输入时触发
oninvalid当元素无效时触发
onkeydown当按下一个键时触发
onkeypress当按键被按下和释放时触发
onkeyup当一个键被释放时触发
onload当文档加载时触发
onloadeddata当加载媒体数据时触发
onloadedmetadata当加载媒体元素的持续时间和其他媒体数据时触发
onloadstart当浏览器开始加载媒体数据时触发
onmessage当消息被触发时触发
onmousedown当按下鼠标按钮时触发
onmousemove当鼠标指针移动时触发
onmouseout当鼠标指针移出元素时触发
onmouseover当鼠标指针移到元素上时触发
onmouseup当鼠标按钮被释放时触发
onmousewheel当鼠标滚轮旋转时触发
onoffline当文档脱机时触发
onoine当文档上线时触发
ononline当文档上线时触发
onpagehide当窗口被隐藏时触发
onpageshow当窗口可见时触发
onpause当媒体数据暂停时触发
onplay当媒体数据将要开始播放时触发
onplaying当媒体数据开始播放时触发
onpopstate当窗口的历史记录改变时触发
onprogress当浏览器获取媒体数据时触发
onratechange当媒体数据的播放速率改变时触发
onreadystatechange当现成状态改变时触发
onredo当文档执行重做时触发
onresize当窗口大小被调整时触发
onscroll当滚动元素的滚动条时触发
onseeked当媒体元素的搜索属性不再为真,并且搜索已经结束时触发
onseeking当媒体元素的搜索属性为true并且搜索已经开始时触发
onselect当一个元素被选中时触发
onstalled在获取媒体数据时出现错误时触发
onstorage当文档加载时触发
onsubmit在提交表单时触发
onsuspend当浏览器正在获取媒体数据,但在获取整个媒体文件之前停止时触发
ontimeupdate当媒体改变其播放位置时触发
onundo当文档执行撤销操作时触发
onunload当用户离开文档时触发
onvolumechange当媒体改变音量时触发,也当音量设置为“静音”时触发
onwaiting当媒体停止播放,但预期将恢复时触发