首頁 web前端 js教程 UI Events 使用者介面事件_javascript技巧

UI Events 使用者介面事件_javascript技巧

May 16, 2016 pm 05:52 PM
ui

UI Events並不是直接與使用者行為相關,UI Event 包含如下:

  DomActivate:當元素被使用者的某些行為啟動時,觸發該事件,例如使用者的滑鼠或鍵盤事件。這事件在DOM3級事件中被放棄了,FF2 和chrome支持,猶豫跨瀏覽器實作機制的不同,不建議使用這個事件。

  load:在window物件上觸發是當頁面載入完畢之後觸發的,在frameset 是當所有的frames都載入完畢之後觸發,當指img標籤時,是指圖片載入完畢之後等等。

  unload:在window物件上觸發是當頁面卸載完畢之後觸發的,在frameset 是當所有的frames都卸載完畢之後觸發,當指img標籤時,是指圖片卸載完畢之後等等。

  abort:當一個元素沒有完全載入完,在使用者停止了下載操作之前,而觸發。

  error:當window的javascript發生錯誤時觸發,當img不能加載是觸發,或者object元素不能被加載時觸發,當frameset中的一個或多個frame不能被加載時觸發,
  select:當使用者選擇textbox中一個或多個字元時觸發該事件。
  resize:當window或frame被改變大小的時候觸發。
  scroll:當使用者捲動一個有捲軸的元素時觸發。
  絕大多數的HTML事件,要麼與window物件相關,要麼與form控制項相關。
  判斷一個瀏覽器是否在DOM2級事件上支援HTML事件,可以採用下面的程式碼:

  var isSupport = document.implementation.hasFeature('HTMLEvents','2.0');
登入後複製

  若果在dom2級事件上實現的話,將會傳回true,true否則回傳false

  var isSupported = document.implementation.hasFeature(“UIEvent”, “3.0”);
登入後複製

  在dom3級上同理。

The load Event

  load事件可能是javascript最常用到的。對window物件而言,當網頁完全載入完畢時,觸發load事件。總而言之,任何發生在window上的事件可以透過body元素的屬性進行訪問,因為在HTML中是沒有權限訪問window元素。

  對於img標籤當你制定img標籤的src屬性時,同樣可以觸發他的load事件。

  如下: 

EventUtil.addHandler(window, “load”, function(){ 
var image = new Image(); 
EventUtil.addHandler(image, “load”, function(event){ 
alert(“Image loaded!”); 
}); 
image.src = “smile.gif”; 
});
登入後複製


  同樣也有其他的元素以一種非標準的方式支援load event,如script標籤元素,當在IE9 、FF、IE9 、FF、 Opera、Chrome、Safari3.0 中動態加script並且載入完成時將觸發script的load事件,與img元素不同,js檔案開始載入是在src屬性被賦值之後,而且這個元素已經被加入到document之中。因此Event handler的順序與src賦值無關。
  範例如下: 

EventUtil.addHandler(window, “load”, function(){ 
var script = document.createElement(“script”); 
script.type = “text/javascript”; 
EventUtil.addHandler(script, “load”, function(event){ 
alert(“Loaded”); 
}); 
script.src = “example.js”; 
document.body.appendChild(script); 
});
登入後複製



 IE和Opera同樣支援link標籤的load事件。

The unload Event
  與load事件相對的就是 unload事件,這個事件當document完全被卸載的時候觸發。典型的例子就是,瀏覽器從一個一面導航到另一個頁面的時候會觸發該事件,並且通常是用這個事件來釋放內存,避免沒有必要的內存佔用。與load事件相似,unload事件可以透過兩種方式進行建立即透過js和透過HTML屬性來建立。
  對於unload事件的處理函數要格外的小心,因為自從卸載事件被激發,並不是所有的對像都是可用的,當頁面被加載仍然可用。試圖操作Dom節點的位置或改變外觀會出現錯誤。

The resize Event

  當瀏覽器視窗的長度和高度被改變時會觸發resize 事件,這個事件發生在window物件上,註冊方式與前兩個事件的註冊方式相同。

  與其他發生在window物件上的事件相同,在dom瀏覽器中該事件的target指的是document,而IE8 和 更早版本的瀏覽器中是沒有相關屬性可以使用的。

  在不同的瀏覽器中resize事件存在這很多不同,在IE safari chrome opera中只要修改一個像素的值,該事件就會被觸發。而在FF中只有當重置大小操作停止時才會觸發這個事件。且瀏覽器的最大 最小化同樣會觸發此事件。

The scroll Event

  雖然scroll事件發生在window物件上,但他也同樣適用於頁級元素。在混在模式下,對應的變化反映在元素的scrollLeft和scrollTop屬性;在標準模式下,對應的變化發生在元素上,除了safari,其他的瀏覽器都遵守上述的規則,例如: 

EventUtil.addHandler(window, “scroll”, function(event){ 
if (document.compatMode == “CSS1Compat”){//标准模式反映在html上。 
alert(document.documentElement.scrollTop); 
} else { 
alert(document.body.scrollTop); 
} 
});
登入後複製

以上就是UI Events 使用者介面事件_javascript技巧的內容,更多相關內容請關注PHP中文網(www.php.cn)!


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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

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

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

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

艾爾登法環ui怎麼一直顯示 艾爾登法環ui怎麼一直顯示 Mar 11, 2024 pm 04:31 PM

在艾爾登法環中這款遊戲的ui頁面在一段時間以後是會自動進行隱藏的,有很多玩家不知道ui怎麼一直顯示,玩家可以在顯示以及聲音配置中選擇其中的量表顯示配置,點擊開啟即可。艾爾登法環ui怎麼一直顯示1、首先我們進入主選單後,點選【系統配置】。 2.在【顯示及聲音配置】介面,選擇其中的量表顯示配置。 3.點擊開啟即可完成。

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

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

如何使用WebSocket和JavaScript實現線上預約系統 如何使用WebSocket和JavaScript實現線上預約系統 Dec 17, 2023 am 09:39 AM

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

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

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

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

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

javascript如何使用insertBefore javascript如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

See all articles