WeHelp
掌握 JavaScript 透過 HTML DOM 控制網頁畫面的技巧,製作各式各樣的互動功能。
  1. HTML DOM 簡介
  2. 取得、操作標籤
  3. 操作標籤樣式
  4. 基本事件處理
  5. JavaScript 事件處理
  6. 事件物件
  7. 圖片切換範例
  8. 淡入、淡出範例
  9. 跳出式視窗範例
  10. 倒數計時範例
事件物件
## Event Object(事件物件)是什麼? 在 JavaScript 中,當使用者或瀏覽器觸發事件時,例如: - 點擊按鈕 - 移動滑鼠 - 按下鍵盤 - 提交表單 瀏覽器會自動建立一個「事件物件」,並將它傳入事件處理函式中。通常會以 `event` 或 `e` 表示。 ```javascript element.addEventListener("click", function (event) { // event 就是事件物件 }); ``` ## Event Object 的功用 事件物件可以提供事件發生時的詳細資訊,例如: | 屬性/方法 | 功用 | |---|---| | `event.target` | 取得實際觸發事件的元素 | | `event.type` | 取得事件類型,例如 `click` | | `event.key` | 取得使用者按下的鍵 | | `event.clientX`、`event.clientY` | 取得滑鼠在視窗中的座標 | | `event.preventDefault()` | 阻止瀏覽器的預設行為 | | `event.stopPropagation()` | 阻止事件繼續冒泡 | --- ## 範例一:取得被點擊的按鈕 ```html <button class="btn">第一個按鈕</button> <button class="btn">第二個按鈕</button> <script> const buttons = document.querySelectorAll(".btn"); buttons.forEach(function (button) { button.addEventListener("click", function (event) { console.log("你點擊的是:", event.target.textContent); console.log("事件類型:", event.type); }); }); </script> ``` ### 說明 - `event.target` 代表實際被點擊的按鈕。 - `event.target.textContent` 可以取得按鈕文字。 - `event.type` 會得到 `"click"`。 這種方式適合用於選單、按鈕群組或動態操作介面。 --- ## 範例二:阻止表單空白送出 ```html <form id="loginForm"> <input id="username" type="text" placeholder="請輸入帳號"> <button type="submit">登入</button> </form> <script> const form = document.querySelector("#loginForm"); form.addEventListener("submit", function (event) { const username = document.querySelector("#username").value; if (username.trim() === "") { event.preventDefault(); alert("請輸入帳號後再送出!"); } }); </script> ``` ### 說明 - 表單送出時會觸發 `submit` 事件。 - 瀏覽器原本會直接送出表單。 - 使用 `event.preventDefault()` 可以阻止預設送出行為。 - 因此可以先進行欄位檢查,確認資料正確後再送出。 總結來說,Event Object 就像是事件發生時附帶的「事件資訊包」,可以幫助程式了解事件來源、事件類型,以及控制瀏覽器的預設行為。
相關學習地圖、教學課程
F2E 網站前端工程
從 0 開始,成為網站前端工程師的學習路徑。