首頁 web前端 js教程 最新整理的JavaScript常見事件類型

最新整理的JavaScript常見事件類型

Aug 10, 2018 pm 05:21 PM
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中的事件流與事件處理程序(圖文教學)

以上是最新整理的JavaScript常見事件類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

人工智慧支援投資研究,做出更明智的決策

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

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

如何在JavaScript中取得HTTP狀態碼的簡單方法 如何在JavaScript中取得HTTP狀態碼的簡單方法 Jan 05, 2024 pm 01:37 PM

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

如何使用 PHP 建立基於事件的應用程式 如何使用 PHP 建立基於事件的應用程式 May 04, 2024 pm 02:24 PM

在PHP中建構基於事件的應用程式的方法包括:使用EventSourceAPI建立事件來源,並在客戶端使用EventSource物件監聽事件。使用伺服器傳送的事件(SSE)傳送事件,並在客戶端使用XMLHttpRequest物件監聽事件。一個實用的例子是在電子商務網站中使用EventSource即時更新庫存計數,在伺服器端透過隨機更改庫存並發送更新來實現,客戶端則透過EventSource監聽庫存更新並即時顯示。

jQuery中如何實作select元素的改變事件綁定 jQuery中如何實作select元素的改變事件綁定 Feb 23, 2024 pm 01:12 PM

jQuery是一個受歡迎的JavaScript函式庫,可以用來簡化DOM操作、事件處理、動畫效果等。在web開發中,常常會遇到需要對select元素進行改變事件綁定的情況。本文將介紹如何使用jQuery實作對select元素改變事件的綁定,並提供具體的程式碼範例。首先,我們需要使用標籤來建立一個包含選項的下拉式選單:

深入研究jQuery中的關閉按鈕事件 深入研究jQuery中的關閉按鈕事件 Feb 24, 2024 pm 05:09 PM

深入理解jQuery中的關閉按鈕事件在前端開發過程中,經常會遇到需要實現關閉按鈕功能的情況,例如關閉彈跳窗、關閉提示框等。而在使用jQuery這個流行的JavaScript函式庫時,實作關閉按鈕事件也變得異常簡單又方便。本文將深入探討如何利用jQuery來實現關閉按鈕事件,並提供具體的程式碼範例,幫助讀者更好地理解和掌握這個技術。首先,我們需要了解在HTML中如何定

JavaScript和WebSocket:打造高效率的即時搜尋引擎 JavaScript和WebSocket:打造高效率的即時搜尋引擎 Dec 17, 2023 pm 10:13 PM

JavaScript和WebSocket:打造高效率的即時搜尋引擎引言:隨著網路的發展,使用者對即時搜尋引擎的要求也越來越高。傳統的搜尋引擎在進行搜尋時,使用者需要點擊搜尋按鈕後才能得到結果,這種方式無法滿足使用者對於即時搜尋結果的需求。因此,採用JavaScript和WebSocket技術來實現即時搜尋引擎成為了一個熱門的話題。本文將詳細介紹使用JavaScri

如何使用WebSocket和JavaScript實現線上電子簽名系統 如何使用WebSocket和JavaScript實現線上電子簽名系統 Dec 18, 2023 pm 03:09 PM

如何使用WebSocket和JavaScript實現線上電子簽名系統概述:隨著數位化時代的到來,電子簽名被廣泛應用於各個產業中,以取代傳統的紙本簽名。 WebSocket作為全雙工通訊協議,可以與伺服器進行即時的雙向資料傳輸,結合JavaScript可以實現一個線上電子簽名系統。本文將介紹如何使用WebSocket和JavaScript來開發一個簡單的在線

如何使用JavaScript和WebSocket實現即時線上投票系統 如何使用JavaScript和WebSocket實現即時線上投票系統 Dec 18, 2023 pm 04:27 PM

如何使用JavaScript和WebSocket實現即時線上投票系統引言:隨著網路的快速發展,即時線上投票系統成為了各類活動和選舉中非常常見的一種形式。使用JavaScript和WebSocket技術實現即時線上投票系統具有靈活性和易用性的優點。本文將詳細介紹如何使用JavaScript和WebSocket來實作一個簡單的即時線上投票系統,並提供對應的程式碼

See all articles