成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇文章帶你了解JavaScript 事件監聽

開發 前端
本文基于JavaScript基礎,介紹了如何進行JavaScript事件監聽 ,從最基本的語法開始,如何將事件監聽添加到元素,如何進行參數傳遞,如何添加到Window對象等等,都做了詳細的講解。通過用豐富的案例幫助大家更好理解。

[[389095]]

大家好,我是前端進階者。JavaScript事件處理程序的最新功能是事件監聽。事件監聽監視元素上的事件。

一、addEventListener()方法

addEventListener()方法將事件處理程序附加到指定的元素。

可以重寫隨機顏色,如下所示:

例:

  1. <!DOCTYPE html> 
  2. <html> 
  3.     <title>項目(nhooo.com)</title> 
  4.  
  5.     <body style="background-color: aqua;"
  6.  
  7.         <p>單擊下面的按鈕以更改文檔的背景顏色:</p> 
  8.  
  9.         <button>點我改變背景顏色</button> 
  10.  
  11.         <script> 
  12.             let btn = document.querySelector("button"); 
  13.             btn.addEventListener("click", bgChange); 
  14.  
  15.             function bgChange() { 
  16.                 let color = "rgb(" + random(255) + "," + random(255) + "," + random(255) + ")"
  17.                 document.body.style.backgroundColor = color; 
  18.             } 
  19.  
  20.             function random(number) { 
  21.                 return Math.floor(Math.random() * (number + 1)); 
  22.             } 
  23. </script> 
  24.  
  25.     </body> 
  26. </html> 

將addEventListener()方法附加到按鈕上。addEventListener()接受兩個必填參數-要監聽的事件和監聽器回調函數。

1. 語法

  1. element.addEventListener(event, listener, useCapture) 

代碼解析:

第一個參數是事件的類型(例如“ click”或“ mousemove”)。

第二個參數是事件發生時我們要調用的監聽函數。

第三個參數是一個布爾值,指定是使用事件捕獲。此參數是可選的。

注意:

不要為事件使用“ on”前綴。使用“ click”代替“ onclick”。

2. 將事件監聽添加到元素

將所有代碼放入addEventListener()方法中的匿名函數中是非常合適的,如下所示:

  1. <script> 
  2. let para = document.querySelector("#para"); 
  3.  
  4. para.addEventListener("click"function() { 
  5. this.innerHTML = "Hello world"
  6. }); 
  7. </script> 

還可以引用外部“命名”函數:

示例

  1. <script> 
  2. let para = document.querySelector("#para"); 
  3. para.addEventListener("click", changeText); 
  4.  
  5. function changeText() { 
  6. para.innerHTML = "Hello world"
  7. </script> 

3. 將多個事件監聽添加到同一元素

事件監聽似乎與事件處理程序屬性非常相似,但是它們有一些優點。我們可以在同一元素上設置多個事件監聽,如以下示例所示:

  1. <script> 
  2. document.querySelector("button").addEventListener("click", myFunc); 
  3. document.querySelector("button").addEventListener("click", anotherFunc); 
  4.  
  5. function myFunc() { 
  6. document.body.style.backgroundColor = "coral"; //改變背景顏色 
  7.  
  8. function anotherFunc() { 
  9. document.body.style.fontSize = "2rem"; //改變字體大小 
  10. </script> 

可以向元素添加不同類型的事件:

示例

4. 傳遞參數

傳遞參數值時,請使用匿名函數,該函數使用參數調用指定的函數:

  1. var btn = document.querySelector("button"); 
  2.    btn.addEventListener("click"function() { 
  3.    myFunc(x, y); 
  4. }); 

5. 將事件監聽添加到Window對象

此外,可以addEventListener()在文檔和窗口對象上使用。

本示例使用以下addEventListener()方法將click事件附加到文檔:

  1. document.addEventListener("click"function() { 
  2. alert("Hello World!!!"); 
  3. }); 

使用該addEventListener()方法將調整大小(resize)事件附加到窗口:

  1. window.addEventListener("resize"function() { 
  2. box.innerHTML = Math.random(); 
  3. }); 

當前,事件監聽是處理JavaScript中事件的最常見和首選方式。

二、removeEventListener()方法

可以使用該removeEventListener()方法從元素中刪除一個或所有事件。

語法:

  1. var box = document.getElementById("para"); 
  2.  
  3.  // Attach an event handler to a P element with id="para" 
  4.  box.addEventListener("mousemove", myFunc); 
  5.  
  6.  // Remove the event handler from a P element with id="para" 
  7.  box.removeEventListener("mousemove", myFunc); 

案例:

  1. <script> 
  2.       // 使用以下代碼將事件處理程序附加到 id="para" 
  3.       var box = document.getElementById("para"); 
  4.       box.addEventListener("mousemove", myFunc); 
  5.  
  6.       function myFunc() { 
  7.         box.innerHTML = Math.random(); 
  8.       } 
  9.  
  10.       function removeHandler() { 
  11.         //從id="para"的P元素中刪除事件處理程序 
  12.         box.removeEventListener("mousemove", myFunc); 
  13.       } 
  14. </script> 

第一個參數是事件的類型(例如“ click”或“ mousemove”)。

第二個參數是事件發生時我們要調用的函數。

三、總結

本文基于JavaScript基礎,介紹了如何進行JavaScript事件監聽 ,從最基本的語法開始,如何將事件監聽添加到元素,如何進行參數傳遞,如何添加到Window對象等等,都做了詳細的講解。通過用豐富的案例幫助大家更好理解。

我是前端進階者。使用JavaScript 語言,方便大家更好理解,希望對大家的學習有幫助。

 

責任編輯:姜華 來源: 前端進階學習交流
相關推薦

2020-11-10 10:48:10

JavaScript屬性對象

2021-06-04 09:56:01

JavaScript 前端switch

2021-01-29 18:41:16

JavaScript函數語法

2021-02-02 18:39:05

JavaScript

2023-09-06 14:57:46

JavaScript編程語言

2021-05-18 08:30:42

JavaScript 前端JavaScript時

2021-06-24 09:05:08

JavaScript日期前端

2021-01-26 23:46:32

JavaScript數據結構前端

2021-03-05 18:04:15

JavaScript循環代碼

2021-03-09 14:04:01

JavaScriptCookie數據

2024-04-19 14:23:52

SwitchJavaScript開發

2023-07-30 15:18:54

JavaScript屬性

2024-01-30 13:47:45

2021-11-26 11:10:07

JavaScript 節點導航

2022-05-13 16:21:38

javascrip腳本SVG

2023-06-01 17:10:12

HTMLJavaScript

2023-06-06 15:45:40

JavaScript數組

2023-07-25 16:06:57

JavaScript對象

2023-08-27 15:18:17

JavaScriptRegExp

2024-07-02 14:14:18

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 青春草国产 | 亚洲国产aⅴ精品一区二区 免费观看av | 成人精品一区二区三区 | 免费在线一区二区 | 日日夜夜精品视频 | 中文字幕国产一区 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 成人一级片在线观看 | 毛片网站在线观看 | 亚洲精品在线视频 | 国产精品成人国产乱 | 久久精品国产99国产精品 | 亚洲综合色网 | 五月激情综合 | av高清| 丁香久久 | 人干人人 | 天天干天天色 | 欧美成人专区 | 国产一区二区精品 | 在线播放中文 | 久久大陆 | 亚洲第一在线 | 日韩精品一区二区三区视频播放 | xx性欧美肥妇精品久久久久久 | 午夜一级大片 | 日本在线免费 | 天天操天天干天天爽 | 国产一区精品 | 久久的色 | 人成精品 | 九九热精品在线视频 | 天堂一区二区三区 | 一区二区三区视频在线观看 | 久久男女视频 | 成人在线中文字幕 | 超碰8| 中文字幕亚洲区一区二 | 91在线视频观看免费 | 日韩免费av网站 | 中文字幕在线观看第一页 |