HTML5中新添加了很多事件,但是由於他們的兼容問題不是很理想,應用實戰性不是太強,所以在這裡基本省略,咱們只分享應用廣泛兼容不錯的事件,日後隨著相容情況提升以後再陸續添加分享。今天為大家介紹的事件主要是觸摸事件:touchstart、touchmove和touchend。
一開始觸摸事件touchstart、touchmove和touchend是iOs版Safari瀏覽器為了向開發人員傳達一些訊息新加入的事件。因為iOs設備既沒有滑鼠也沒有鍵盤,所以在為行動Safari瀏覽器開發互動網頁的時候,PC端的滑鼠和鍵盤事件是不夠用的。
在iPhone 3Gs發佈的時候,其自帶的行動Safari瀏覽器就提供了一些與觸控(touch)操作相關的新事件。隨後,Android上的瀏覽器也實作了相同的事件。觸摸事件(touch)會在使用者手指放在螢幕上面的時候、在螢幕上滑動的時候或是從螢幕上移開的時候出發。以下說明:
touchstart事件:當手指觸摸螢幕時候觸發,即使已經有一個手指放在螢幕上也會觸發。
touchmove事件:當手指在螢幕上滑動的時候連續地觸發。在這個事件發生期間,呼叫preventDefault()事件可以阻止捲動。
touchend事件:當手指從螢幕離開的時候觸發。
touchcancel事件:當系統停止追蹤觸控的時候觸發。關於這個事件的確切出發時間,文件中並沒有具體說明,咱們只能去猜測了。
上面的這些事件都會冒泡,也都可以取消。雖然這些觸控事件沒有在DOM規範中定義,但是它們卻是以相容DOM的方式實現的。所以,每個觸控事件的event物件都提供了在滑鼠實作中常見的屬性:bubbles(起泡事件的類型)、cancelable(是否用preventDefault() 方法可以取消與事件關聯的預設動作)、clientX(返回當事件被觸發時,滑鼠指標的水平座標)、clientY(傳回當事件觸發時,滑鼠指標的垂直座標)、screenX(當某個事件被觸發時,滑鼠指標的水平座標)和screenY(傳回當某個事件被觸發時,滑鼠指標的垂直座標)。除了常見的DOM屬性,觸控事件還包含以下三個用於追蹤觸控的屬性。
touches:表示目前追蹤的觸控操作的touch物件的陣列。
targetTouches:特定於事件目標的Touch物件的陣列。
changeTouches:表示自上次觸碰以來發生了什麼改變的Touch物件的陣列。
每個Touch物件所包含的屬性如下。
clientX:觸碰目標在視窗中的x座標。
clientY:觸碰目標在視窗中的y座標。
identifier:標識觸控的唯一ID。
pageX:觸碰目標在頁面中的x座標。
pageY:觸碰目標在頁面中的y座標。
screenX:觸碰目標在螢幕中的x座標。
screenY:觸碰目標在螢幕中的y座標。
target:觸目的DOM節點目標。
上面的屬性光這麼看,果然非常繁瑣,每個屬性說的都是那麼的細緻,只有真刀實槍的來點小例子才能更加明白其中的奧妙。所以小例子如下。
JavaScript程式碼
function load (){ document.addEventListener('touchstart',touch, false); document.addEventListener('touchmove',touch, false); document.addEventListener('touchend',touch, false); function touch (event){ var event = event || window.event; var oInp = document.getElementById("inp"); switch(event.type){ case "touchstart": oInp.innerHTML = "Touch started (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")"; break; case "touchend": oInp.innerHTML = "<br>Touch end (" + event.changedTouches[0].clientX + "," + event.changedTouches[0].clientY + ")"; break; case "touchmove": event.preventDefault(); oInp.innerHTML = "<br>Touch moved (" + event.touches[0].clientX + "," + event.touches[0].clientY + ")"; break; } } } window.addEventListener('load',load, false);
HTML程式碼
<div id="inp"></div>
上面的小範例。當touchstart事件觸發的時候,會將觸摸的位置更新到div標籤中。當touchmove事件觸發的時候,會預設行為的滾動(觸摸移動的預設行為是滾動頁面),然後觸摸操作的變化資訊更新到div標籤中。而touchend事件會輸出有關觸控操作的最終訊息。注意,在touchend事件觸發的時候,touches集合中就沒有任何Touch物件了,因為不存在活動的觸控操作。
這些事件會在文件的所有元素上面觸發,因而可以分別操作頁面的不同部分。在觸控螢幕上的元素,這些事件(包括滑鼠事件)發生的順序如下:
(1)touchstart (2)mouseover (3)mousemove(一次) (4)mousedown (5)mouseup (6)click (7)touchend
介紹了這麼多,這些觸控事件的兼容情況怎麼樣呢?支援觸控事件(touchstart、touchmove和touchend )的瀏覽器有:iOs版Safari、Android版WebKit、bada版Dolfin、OS6+中的BlackBerry WebKit、Opera Mobile 10.1+和LG專有OS中的Phantom瀏覽器。目前只有iOs版Safari支援多點觸控。 PC版Firefox 6+ 和Chrome也支援觸控事件。
以上是HTML5主要的觸控事件(touchstart、touchmove和touchend)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

HTML的作用是通過標籤和屬性定義網頁的結構和內容。 1.HTML通過到、等標籤組織內容,使其易於閱讀和理解。 2.使用語義化標籤如、等增強可訪問性和SEO。 3.優化HTML代碼可以提高網頁加載速度和用戶體驗。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代碼” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代碼”代碼“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web開發的三大支柱。 1.HTML定義網頁結構,使用標籤如、等。 2.CSS控製網頁樣式,使用選擇器和屬性如color、font-size等。 3.JavaScript實現動態效果和交互,通過事件監聽和DOM操作。

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

HTML適合初學者學習,因為它簡單易學且能快速看到成果。 1)HTML的學習曲線平緩,易於上手。 2)只需掌握基本標籤即可開始創建網頁。 3)靈活性高,可與CSS和JavaScript結合使用。 4)豐富的學習資源和現代工具支持學習過程。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

如何設計菜單中的虛線分割效果?在設計菜單時,菜名和價格的左右對齊通常不難實現,但中間的虛線或點如何...

網頁代碼編輯器中的HTML元素分析許多在線代碼編輯器允許用戶輸入HTML、CSS和JavaScript代碼。最近,有人提出了一...


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

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

Dreamweaver CS6
視覺化網頁開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具