最新整理的JavaScript常見事件類型
UI (User Interface) 事件,當使用者與頁面上的元素互動時觸發
Load事件:當頁面完全載入後,就會觸發window上的load事件。
Unload事件:在文件被完全卸載後觸發。只要使用者從一個頁面切換到另一個頁面,就會觸發。
Resize事件:當瀏覽器調整到一個新的高度或寬度時,就會觸發resize事件。注意不要在這個事件中加入計算邏輯,避免效能問題。
EventUtil.addHandler(window, "resize", function (event) { //防抖函数 //每次调用函数都会清除之前的计数器,并重新计数,计数完成时,执行操作。 var timer; return function () { if (timer) { clearTimeout(timer); } timer = setTimeout(function () { //setTimeout返回唯一标识符,可以使用它来取消计数器 console.log("123"); },500); } }());//此处的双括号表示,立即调用返回值
Scroll事件:當使用者捲動帶有流動條的元素中的內容時,在該元素上面觸發。
EventUtil.addHandler(window, "scroll", function (event) { //函数节流 var timer; return function () { if (timer) { clearTimeout(timer); } timer = setTimeout(function () { //setTimeout返回唯一标识符,可以使用它来取消计数器 if (document.compatMode == "CSS1Compat") { //标准模式 console.log("Left:" + document.documentElement.scrollLeft); console.log("Top:" + document.documentElement.scrollTop); } else { //混杂模式 console.log("Left:" + document.body.scrollLeft); console.log("Top:" + document.body.scrollTop); } }, 500); } }());
焦點事件,在頁面獲得或失去焦點時觸發
Blur事件:在元素失去焦點時觸發。這個事件不會冒泡;所有瀏覽器都支援它;
Focus事件:在元素獲得焦點時觸發。這個事件不會冒泡,所有瀏覽器都支援它;
Focusin事件:在元素獲得焦點時觸發。這個事件與HTML事件focus等價,但它冒泡,支援這個事件的瀏覽器有IE5 safari5.1 Opera11.5 和 Chrome;
Focusout事件: 在元素獲得失去時觸發。這個事件是HTML事件blur的通用版本,,支援這個事件的瀏覽器有IE5 safari5.1 Opera11.5 和Chrome;
滑鼠與滾輪事件
Click事件:在使用者單機滑鼠左鍵或按下回車鍵時觸發。
DbClick事件:使用者雙擊滑鼠左鍵時觸發。
MouseDown事件:在使用者按下滑鼠任意按鈕時觸發。
MouseEnter事件:滑鼠從外部首次移入到元素範圍內觸發。
MouseLeave事件:滑鼠移出元素範圍之外觸發。
MouseMove事件:當滑鼠指標在元素內部移動時重複觸發。
MouseOut事件:在滑鼠指標位於一個元素上方,然後使用者將其移入到另一個元素時觸發。
MouseOver事件:在滑鼠指標位於一個元素外部,然後使用者將其首次移入到另一個元素邊界之內時觸發。
MouseUp:在使用者釋放滑鼠指標時觸發。
幾個滑鼠座標位置:
1.客戶區座標位置
滑鼠事件都是在瀏覽器視窗中的特定位置上發生的。這個位置保存在事件物件的clientX和clientY屬性中。
2.頁面座標位置
pageX和pageY能告訴你事件是在頁面中什麼位置發生的。換句話說,這兩個屬性表示遊標在頁面中的位置,因此座標是從頁面本身而不是視口左邊或頂邊計算的。
在頁面沒有捲動的情況下,pageX和pageY和clientX和clientY是相等的。
IE8及更早的版本不支援頁面座標位置,不過可以使用客戶區座標位置和捲動資訊計算出來。
EventUtil.addHandler(document.getElementById("p1"), "click", function (event) { //兼容IE8及之前版本 event = EventUtil.getEvent(event); var pageX = event.pageX, pageY = event.pageY; if (pageX === undefined) { pageX = event.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft); } if (pageY === undefined) { pageY = event.clientY + (document.body.scrollTop || document.documentElement.scrollTop); } //console.log("pageX:" + pageX); //console.log("pageY:" + pageY); });
3.螢幕座標位置
screenX和screenY屬性可以決定滑鼠事件發生時滑鼠指標相對於整個螢幕的座標資訊。
相關推薦:
詳解讀JavaScript中的事件流與事件處理程序(圖文教學)
以上是最新整理的JavaScript常見事件類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務
