WeHelp
掌握 JavaScript 透過 HTML DOM 控制網頁畫面的技巧,製作各式各樣的互動功能。
  1. HTML DOM 簡介
  2. 取得、操作標籤
  3. 操作標籤樣式
  4. 基本事件處理
  5. JavaScript 事件處理
  6. 事件物件
  7. 圖片切換範例
  8. 淡入、淡出範例
  9. 跳出式視窗範例
  10. 倒數計時範例
JavaScript 事件處理
`addEventListener()` 可以將事件處理函式綁定到 HTML 標籤上,例如點擊、滑鼠移入、輸入文字或表單送出等事件。 ## 基本語法 ```javascript 元素.addEventListener("事件名稱", 事件處理函式); ``` 例如: ```javascript const button = document.querySelector("#myButton"); button.addEventListener("click", function () { console.log("按鈕被點擊了!"); }); ``` 也可以使用箭頭函式: ```javascript button.addEventListener("click", () => { console.log("按鈕被點擊了!"); }); ``` 相較於直接在 HTML 標籤中使用 `onclick`,`addEventListener()` 可以將 HTML 與 JavaScript 分離,且同一個元素可以加入多個事件處理函式。 --- ## 範例一:點擊按鈕修改文字 ### HTML ```html <button id="changeTextButton">修改文字</button> <p id="message">原本的文字</p> ``` ### JavaScript ```javascript const button = document.querySelector("#changeTextButton"); const message = document.querySelector("#message"); button.addEventListener("click", () => { message.textContent = "文字已經被修改!"; }); ``` 當使用者點擊按鈕時,`click` 事件會被觸發,並將段落的內容改成新的文字。 --- ## 範例二:輸入文字時即時顯示內容 ### HTML ```html <input type="text" id="nameInput" placeholder="請輸入姓名"> <p>你好,<span id="nameOutput">訪客</span>!</p> ``` ### JavaScript ```javascript const nameInput = document.querySelector("#nameInput"); const nameOutput = document.querySelector("#nameOutput"); nameInput.addEventListener("input", (event) => { const name = event.target.value; if (name.trim() === "") { nameOutput.textContent = "訪客"; } else { nameOutput.textContent = name; } }); ``` `input` 事件會在使用者輸入內容時觸發。透過 `event.target.value` 可以取得輸入框目前的文字,並即時更新畫面。 --- ## 常見事件名稱 | 事件名稱 | 說明 | |---|---| | `click` | 使用者點擊元素 | | `mouseover` | 滑鼠移入元素 | | `mouseout` | 滑鼠移出元素 | | `input` | 輸入框內容改變 | | `change` | 表單欄位值改變並完成選取 | | `submit` | 表單送出 | | `keydown` | 按下鍵盤按鍵 | 若 JavaScript 放在 `<head>` 中,建議等 HTML 載入完成後再取得標籤: ```javascript document.addEventListener("DOMContentLoaded", () => { // 在這裡加入事件處理程式 }); ```
相關學習地圖、教學課程
F2E 網站前端工程
從 0 開始,成為網站前端工程師的學習路徑。