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

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

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

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

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

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

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

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

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

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

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

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

即時協(xié)作編輯器已成為現(xiàn)代web開發(fā)的標配,特別是在各種團隊協(xié)作、線上文件編輯和任務管理的場景下,基於WebSocket的即時通訊技術(shù)可以提高團隊成員之間的溝通效率和協(xié)作效果。本文將介紹如何使用WebSocket和JavaScript建立一個簡單的線上協(xié)作編輯器,幫助讀者更能理解WebSocket的原理和使用方法。理解WebSocket的基本原理WebSo
