【JS】事件類型(可addEventListener監聽)

文章目錄

    • 1. 窗口/視圖相關事件
    • 2. 鼠標事件
    • 3. 鍵盤事件
    • 4. 焦點事件
    • 5. 表單事件
    • 6. 觸摸事件(移動端)
    • 7. 其他重要事件

使用示例

// 監聽滾動事件
useEffect(() => {const handleScroll = () => {console.log("當前滾動位置:", window.scrollY);};window.addEventListener("scroll", handleScroll);return () => window.removeEventListener("scroll", handleScroll);
}, []);// 監聽路由哈希變化
useEffect(() => {const handleHashChange = () => {console.log("當前哈希:", window.location.hash);};window.addEventListener("hashchange", handleHashChange);return () => window.removeEventListener("hashchange", handleHashChange);
}, []);

1. 窗口/視圖相關事件

事件類型描述
resize窗口大小改變時觸發(最常用)
scroll滾動頁面時觸發(可用于檢測滾動位置)
load頁面完全加載后觸發(包括所有資源)
DOMContentLoadedHTML 文檔解析完成時觸發(無需等待樣式/圖片)
beforeunload頁面卸載前觸發(用于阻止意外離開)
unload頁面卸載時觸發(資源清理)

2. 鼠標事件

事件類型描述
click點擊元素時觸發(按下并釋放)
dblclick雙擊元素時觸發
mousedown鼠標按下時觸發
mouseup鼠標釋放時觸發
mousemove鼠標在元素上移動時連續觸發
mouseover鼠標移入元素時觸發(會冒泡)
mouseout鼠標移出元素時觸發(會冒泡)
mouseenter鼠標移入元素時觸發(不冒泡)
mouseleave鼠標移出元素時觸發(不冒泡)
contextmenu右鍵點擊時觸發(打開上下文菜單前)

3. 鍵盤事件

事件類型描述
keydown鍵盤按鍵按下時觸發
keyup鍵盤按鍵釋放時觸發
keypress按下產生字符的鍵時觸發(已棄用,建議用 keydown 代替)

4. 焦點事件

事件類型描述
focus元素獲得焦點時觸發(不冒泡)
blur元素失去焦點時觸發(不冒泡)
focusin元素即將獲得焦點時觸發(會冒泡)
focusout元素即將失去焦點時觸發(會冒泡)

5. 表單事件

事件類型描述
change表單元素值改變并提交時觸發(如輸入框失焦后)
input表單元素值改變時立即觸發(實時響應)
submit表單提交時觸發
reset表單重置時觸發

6. 觸摸事件(移動端)

事件類型描述
touchstart手指觸摸屏幕時觸發
touchmove手指在屏幕上滑動時連續觸發
touchend手指離開屏幕時觸發
touchcancel觸摸被意外中斷時觸發(如來電)

7. 其他重要事件

事件類型描述
hashchangeURL 的哈希部分變化時觸發(單頁應用路由常用)
popstate瀏覽器歷史記錄變化時觸發(如前進/后退)
online/offline網絡連接狀態變化時觸發
storageWeb Storage 變化時觸發(localStorage/sessionStorage)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90079.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90079.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90079.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【3GPP】5G專用詞匯1

〇、在5G通信領域,類似RRU(遠端射頻單元)、UE(用戶終端)、BS(基站)的專業術語非常豐富,涵蓋設備、功能、架構、技術等多個層面。以下是分類整理的常見5G名詞及其說明: 一…

基于 FFT + VMD 預處理的 1DCNN?Informer 雙支路并行、多頭注意力融合分類模型

1? 引言 現代工業設備的運行狀態高度復雜、故障類型日趨多樣,單一特征處理或單一路徑模型常難以兼顧高精度與實時性。本期推出的模型**“FFT+VMD→1DCNN?Informer→多頭注意力”**流水線,將頻域分解與時序建模結合,通過雙支路并行特征提取和注意力融合,在旋轉機械、電力…

ndarray的創建(小白五分鐘從入門到精通)

ndarray的創建用途方法語法示例核心作用輸出示例基礎構造? 從 Python 數據結構創建np.array()np.array([[1, 2], [3, 4]])將列表/元組轉換為 ndarrayarray([[1, 2], [3, 4]])? 復制數組np.copy()np.copy(arr)創建獨立副本(深拷貝)與原數組相同但不共享…

考研數據結構Part1——單鏈表知識點總結

一、前言單鏈表是線性表的鏈式存儲結構,作為數據結構中最基礎也是最重要的線性結構之一,在考研數據結構科目中占有重要地位。本文將總結帶頭結點單鏈表的各項基本操作,包括初始化、插入、刪除、查找等,并附上完整C語言實現代碼&am…

筆試——Day15

文章目錄第一題題目思路代碼第二題題目:思路代碼第三題題目:思路代碼第一題 題目 平方數 思路 判斷?個數開根號之后左右兩個數的平?,哪個最近即可 代碼 第二題 題目: 分組 思路 枚舉所有的結果,找到第一個復合要…

物聯網全流程開發記錄

問題 有數據采集設備,服務器,上位機用戶顯示三部分,采集設備將采集的數據發送至服務器。服務器將數據保存,上位機讀取服務器保存的數據庫顯示。當出現多設備,多用戶時,如何通過多設備對應多用戶&#xff0c…

【LeetCode 熱題 100】46. 全排列——回溯

Problem: 46. 全排列 文章目錄整體思路完整代碼時空復雜度時間復雜度:O(N * N!)空間復雜度:O(N)整體思路 這段代碼旨在解決一個經典的組合數學問題:全排列 (Permutations)。給定一個不含重復數字的數組 nums,它需要找出其所有可能…

AXI接口學習

amba總線的發展axi協議是兩個接口之間的點對點的協議,主要是有5個通道。主機在寫地址(AW)通道上發送地址,并在寫數據(W)通道上將數據傳輸到從機。從機將接收到的數據寫入指定地址空間。從機完成寫操作&…

Validation - Spring Boot項目中參數檢驗的利器

Validation - Spring Boot項目中參數檢驗的利器 什么是Validation Sping Boot官方原文:When it comes to validating user input, Spring Boot provides strong support for this common, yet critical, task straight out of the box.Although Spring Boot support…

云服務器VS虛擬主機:如何抉擇?

開篇引入在當今數字化浪潮中,無論是個人站長想要搭建獨具風格的博客,展示自己的生活感悟與專業見解;還是中小企業期望構建官方網站,拓展線上業務版圖,提升品牌知名度;亦或是大型互聯網企業籌備高并發的電商…

不同相機CMOS噪點對熒光計算的影響

摘要:熒光成像是生物醫學、材料科學等領域的重要研究手段,其成像質量高度依賴傳感器噪聲特性。本文系統分析CMOS傳感器噪聲類型及其對熒光信號計算的影響機制,結合實驗數據探討不同CMOS架構的噪聲表現差異,提出針對性優化策略。研…

docker 常見命令使用記錄

1. swarm 集群 1. 集群創建 # 創建集群管理節點, --advertise-addr 指定節點管理通信地址,--data-path-addr 指定容器通信地址 docker swarm init --advertise-addr 1.14.138.35 --data-path-addr 1.14.138.35# --advertise-addr 指明當前work節點的…

KRaft 角色狀態設計模式:從狀態理解 Raft

這些狀態類是 Raft 協議行為的核心載體。它們包含轉移邏輯 和 節點在特定狀態下的所有行為和數據。QuorumState它是 KRaft 客戶端實現中狀態管理的核心,扮演著“狀態機上下文(Context)”和“狀態轉換協調者”的關鍵角色。QuorumState 是整個 …

Linux的磁盤存儲管理實操——(上)

一、Linux的設備文件分類 Linux的設備文件分類1、在Linux系統中設備文件是用來與外接交互的接口,它將內核中的硬件設備與文件系統關聯起來,讓用戶可以像操作普通文件一樣來操作硬件設備,同時也為開發者提供了方便而強大的應用程序接口。 2、L…

內核bpf的實現原理

bpftrace能幫我們干什么?1、統計 tcp連接的生命時長、2、統計mysql執行一條sql語句的時間3、統計redis執行命令的時間、 4、對文件進行一次讀或者寫的時間。 常用命令: bpftrace -e Begin { printf("hello\n"); } bpftrace -l *enter_accep…

前端npm配置Nexus為基礎倉庫

步驟: 一、Nexus倉庫配置 新增npm倉庫,具體詳解見 Nexus私有倉庫配置,解釋 注:Nexus的版本需要至少3.38以上,不然會出現npm install 時npm的審計功能報錯,導致install失敗。雖然在3.38以后不會報400錯誤&#xff0c…

數據結構 之 【排序】(直接插入排序、希爾排序)

目錄 1.直接插入排序 1.1直接插入排序的思想 1.2直接插入排序的代碼邏輯: 1.3 直接插入排序圖解 1.4單趟排序代碼(單個元素的排序邏輯) 1.5完整排序代碼 1.6直接插入排序的時間復雜度與空間復雜度 1.7直接插入排序的優勢 2.希爾排序(縮小增量排序) 2.1…

Laravel 后臺登錄 403 Forbidden 錯誤深度解決方案-優雅草卓伊凡|泡泡龍

Laravel 后臺登錄 403 Forbidden 錯誤深度解決方案-優雅草卓伊凡|泡泡龍一頓操作猛如虎,一看結果250,必須記錄,必須記錄,!今天弄了很久關于我們2023年的產品系統蜻蜓T會議系統專業版,然后終于搞好了密碼也重…

Newline全場景方案閃耀2025中國智慧生活大會

7月15日 — 16日,由中國電子視像行業協會等權威機構指導的2025 CIC中國智慧生活大會在京召開。Newline作為視像協會PID分會副會長單位攜全場景智慧辦公解決方案亮相,首席營銷官李宇鵬受邀出席領袖圓桌環節,與騰訊云、京東方、創維、TCL、小猿…

Edge瀏覽器地址欄默認搜索引擎設置指南

前言 Microsoft Edge 瀏覽器允許用戶自定義地址欄默認搜索引擎,只是設置入口隱藏比較深,以版本 137.0.3296.83 (正式版本) (64 位)為例詳細記錄設置地址欄默認搜索引擎步驟: Edge 設置默認搜索引擎步驟 通過設置界面修改 打開Edge設置&#x…