JS學習筆記#10 | JavaScript 事件處理與阻止

更新 發佈閱讀 4 分鐘


JavaScript 的事件處理是網頁開發中的重要部分,本文將介紹兩個常用的方法:event.stopPropagation()event.preventDefault(),並簡要說明它們的作用與使用情境。

事件物件 event

當網頁觸發某個事件時,瀏覽器會自動生成一個事件物件,稱為 event,此物件包含事件的相關資訊,如觸發事件的 DOM 元素和觸發原因等。


1. event.stopPropagation()

背景知識:事件冒泡

當一個 DOM 元素的事件被觸發後,該事件會沿著 DOM 樹從內到外傳播,這種現象稱為「事件冒泡」。

範例: 假設我們有以下結構:

<div id="outer">
<div id="middle">
<button id="inner">點我</button>
</div>
</div>

若為三個元素(outermiddleinner)分別設置 click 事件,當點擊 inner 時,外層的 middleouter 事件也會被觸發。

解決方法:阻止事件冒泡

使用 event.stopPropagation() 可以有效地阻止事件冒泡,僅觸發目標元素的事件,而不會傳播到外層元素。

範例:

document.getElementById('inner').addEventListener('click', (event) => {
event.stopPropagation();
console.log('僅執行內層按鈕事件');
});

效果:點擊 inner 按鈕只觸發 innerclick 事件。


2. event.preventDefault()

功能:取消事件的預設行為

某些 DOM 元素(如 <a> 超連結或 <form> 表單)會有預設行為。例如,點擊 <a> 超連結會跳轉到指定的網址。若不希望執行此預設行為,可使用 event.preventDefault()

範例:

HTML:

<a id="clickMe" href="https://example.com">跳轉到 Example</a>

JavaScript:

document.getElementById('clickMe').addEventListener('click', (event) => {
event.preventDefault();
console.log('阻止跳轉,執行自定義邏輯');
});

效果:點擊連結後,頁面不會跳轉,但會執行 console.log


某些情境下:return false 的作用

在某些情境下,我們會使用 return false 來取消事件的執行。但需注意:

  • return false 只能取消 DOM 元素的預設行為。
  • 無法阻止事件冒泡。

範例:

document.getElementById('clickMe').onclick = function () {
console.log('僅取消預設行為,無法阻止冒泡');
return false;
};

總結

  • event.stopPropagation() : 阻止事件冒泡,不希望事件傳播到父層元素時。
  • event.preventDefault() : 取消事件的預設行為,禁止預設功能(如連結跳轉、表單提交)時。
  • return false : 僅取消預設行為,無法阻止冒泡,用於簡單的事件處理。


留言
avatar-img
koko的沙龍
1會員
34內容數
koko的沙龍的其他內容
2025/04/28
在 React 的世界裡,Props 負責從父元件向子元件傳遞資料,而 State 則是負責管理元件自身的內部資料。 State 就像元件的記憶,可以儲存元件的狀態,並根據狀態的變化來更新 UI。
Thumbnail
2025/04/28
在 React 的世界裡,Props 負責從父元件向子元件傳遞資料,而 State 則是負責管理元件自身的內部資料。 State 就像元件的記憶,可以儲存元件的狀態,並根據狀態的變化來更新 UI。
Thumbnail
2025/04/27
在 React 的世界裡,元件 (Component) 就像一個個獨立的個體,各自負責 UI 的一部分,要讓這些個體協同工作,就需要一種溝通的機制,而 Props 就是組件之間通信和數據傳遞的主要方式。
Thumbnail
2025/04/27
在 React 的世界裡,元件 (Component) 就像一個個獨立的個體,各自負責 UI 的一部分,要讓這些個體協同工作,就需要一種溝通的機制,而 Props 就是組件之間通信和數據傳遞的主要方式。
Thumbnail
2025/04/27
在 React 的世界裡,元件 (Component) 扮演著至關重要的角色。它們是構成使用者介面 (UI) 的基本 building blocks,如同積木一般,可以組合成複雜的應用程式。
Thumbnail
2025/04/27
在 React 的世界裡,元件 (Component) 扮演著至關重要的角色。它們是構成使用者介面 (UI) 的基本 building blocks,如同積木一般,可以組合成複雜的應用程式。
Thumbnail
看更多
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
我們前一篇介紹了「【Web系列】訂閱技術的基石,RSS Feed是什麼?」,相信也對於訂閱的機制具備一定的認識了,雖然RSS已經能夠滿足我們訂閱的一些基本需求,但由於主要的訂閱端還是定期去檢查更新資訊,因此假設我們想要在最短時間內掌握最新資訊時,仍會有一些延遲,再者也非常浪費頻寬。 我們為什麼不能改
Thumbnail
我們前一篇介紹了「【Web系列】訂閱技術的基石,RSS Feed是什麼?」,相信也對於訂閱的機制具備一定的認識了,雖然RSS已經能夠滿足我們訂閱的一些基本需求,但由於主要的訂閱端還是定期去檢查更新資訊,因此假設我們想要在最短時間內掌握最新資訊時,仍會有一些延遲,再者也非常浪費頻寬。 我們為什麼不能改
Thumbnail
本篇介紹了一個名為 DOMPurify 的套件,它可以增加網站對 XSS 攻擊的防護力。DOMPurify 可以幫助開發人員過濾和清除不受信任的輸入,以防止 XSS 攻擊。本文提供了 DOMPurify 的安裝和使用方法,並提供了一個範例 Demo 供參考。
Thumbnail
本篇介紹了一個名為 DOMPurify 的套件,它可以增加網站對 XSS 攻擊的防護力。DOMPurify 可以幫助開發人員過濾和清除不受信任的輸入,以防止 XSS 攻擊。本文提供了 DOMPurify 的安裝和使用方法,並提供了一個範例 Demo 供參考。
Thumbnail
JavaScript 的事件處理是網頁開發中的重要部分,本文將介紹兩個常用的方法:event.stopPropagation() 與 event.preventDefault(),並簡要說明它們的作用與使用情境。
Thumbnail
JavaScript 的事件處理是網頁開發中的重要部分,本文將介紹兩個常用的方法:event.stopPropagation() 與 event.preventDefault(),並簡要說明它們的作用與使用情境。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
談了許多網路安全的議題,提醒民眾要注意哪些事情,建構哪些網路安全思維,讓我們可以降低踏入詐騙陷阱的風險。但除了民眾本身要不斷學習、提升防詐意識外,是不是還有其他方面的作法呢? 本文就來聊聊在企業端可以做些什麼。 要打造一個密不可破的防護網,企業端就不能夠缺席。 舉幾個例子讓大家知道。
Thumbnail
談了許多網路安全的議題,提醒民眾要注意哪些事情,建構哪些網路安全思維,讓我們可以降低踏入詐騙陷阱的風險。但除了民眾本身要不斷學習、提升防詐意識外,是不是還有其他方面的作法呢? 本文就來聊聊在企業端可以做些什麼。 要打造一個密不可破的防護網,企業端就不能夠缺席。 舉幾個例子讓大家知道。
Thumbnail
我們前一篇介紹了「【Web系列】訂閱技術的基石,RSS Feed是什麼?」,相信也對於訂閱的機制具備一定的認識了,雖然RSS已經能夠滿足我們訂閱的一些基本需求,但由於主要的訂閱端還是定期去檢查更新資訊,因此假設我們想要在最短時間內掌握最新資訊時,仍會有一些延遲,再者也非常浪費頻寬。 結語
Thumbnail
我們前一篇介紹了「【Web系列】訂閱技術的基石,RSS Feed是什麼?」,相信也對於訂閱的機制具備一定的認識了,雖然RSS已經能夠滿足我們訂閱的一些基本需求,但由於主要的訂閱端還是定期去檢查更新資訊,因此假設我們想要在最短時間內掌握最新資訊時,仍會有一些延遲,再者也非常浪費頻寬。 結語
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文介紹XSS (跨站腳本攻擊) 的原理、ASP.NET Web Forms 應用程式中常見的漏洞、測試範例以及如何使用Server.HtmlEncode()函式來防止XSS攻擊。透過適當的輸入驗證和編碼,可以有效降低XSS攻擊風險,提升網站安全性。
Thumbnail
本文介紹XSS (跨站腳本攻擊) 的原理、ASP.NET Web Forms 應用程式中常見的漏洞、測試範例以及如何使用Server.HtmlEncode()函式來防止XSS攻擊。透過適當的輸入驗證和編碼,可以有效降低XSS攻擊風險,提升網站安全性。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
允許未經過濾的使用者內容執行會帶來攻擊風險。建議參考 HTML5 Security Cheat Sheet 和 OWASP's XSS Prevention Cheat Sheet,並檢查依賴項源代碼是否存在危險模式。
Thumbnail
允許未經過濾的使用者內容執行會帶來攻擊風險。建議參考 HTML5 Security Cheat Sheet 和 OWASP's XSS Prevention Cheat Sheet,並檢查依賴項源代碼是否存在危險模式。
Thumbnail
在前文提及網站漏洞掃描(Website Vulnerability Scan),會對企業造成營運負擔,包括數據洩露、損害公司聲譽、監管複雜化等負面後果。所以能夠通過防禦措施,來組織需要工具和專業知識來作快速而效地做出響應,從而作出適切的對應措施。下文會為大家一一講解安全事件響應對企業的重要性。
Thumbnail
在前文提及網站漏洞掃描(Website Vulnerability Scan),會對企業造成營運負擔,包括數據洩露、損害公司聲譽、監管複雜化等負面後果。所以能夠通過防禦措施,來組織需要工具和專業知識來作快速而效地做出響應,從而作出適切的對應措施。下文會為大家一一講解安全事件響應對企業的重要性。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News