觸控螢幕中的JavaScript事件分析_javascript技巧
本文實例講述了觸控螢幕中的JavaScript事件。分享給大家供大家參考。具體分析如下:
一、觸摸事件
ontouchstart
ontouchmove
ontouchend
ontouchcancel目前行動裝置瀏覽器皆支援這4個觸控事件,包括IE。由於觸控螢幕也支援MouseEvent,他們的順序是需要注意的:touchstart → mouseover → mousemove → mousedown → mouseup → click1
實例如下:
/** * onTouchEvent */ var div = document.getElementById("div"); //touchstart类似mousedown div.ontouchstart = function(e){ //事件的touches属性是一个数组,其中一个元素代表同一时刻的一个触控点, //从而可以通过touches获取多点触控的每个触控点 //由于我们只有一点触控,所以直接指向[0] var touch = e.touches[0]; //获取当前触控点的坐标,等同于MouseEvent事件的clientX/clientY var x = touch.clientX; var y = touch.clientY; }; //touchmove类似mousemove div.ontouchmove = function(e){ //可为touchstart、touchmove事件加上preventDefault从而阻止触摸时, //浏览器的缩放、滚动条滚动等 e.preventDefault(); }; //touchend类似mouseup div.ontouchup = function(e){ //nothing to do };
二、手勢事件手勢是指利用多點觸控進行旋轉、拉伸等操作,例如圖片、網頁的放大、旋轉。需要兩個或更多的手指同時觸摸時才會觸發手勢事件。關於縮放我們需要注意的一點是元素的位置座標:我們通常使用offsetX、getBoundingClientRect等方法來取得元素的位置座標,但在手機瀏覽器中頁面經常會在使用中被縮放,那麼縮放後的元素座標會改變嗎?答案是有所差異。用一個情境來說明這個問題:頁面A載入完成後,JavaScript取得到該元素在document中的座標為(100,100),接著使用者放大了頁面,此時用JavaScript再次輸出元素座標,依然還是(100,100),但該元素在螢幕上的響應區域會根據縮放比例產生偏移。你可以打開那個打磚塊遊戲demo,等頁面完全加載完成後,再放大,此時你會發現即使手指觸摸在“touch here”區域外部,也可以控製到球板,因為區域發生了偏移。除非頁面刷新或恢復縮放,否則偏移量將一直存在。
/** * onGestureEvent */ var div = document.getElementById("div"); div.ongesturechange = function(e){ //scale代表手势产生的缩放比例,小于1是缩小,大于1是放大,原始为1 var scale = e.scale; //rotation代表旋转手势的角度,值区间[0,360],正值顺时针旋转,负值逆时针 var angle = e.rotation; };
三、重力感應重力感應較簡單,只需要為body節點加入onorientationchange事件即可。在此事件中由window.orientation屬性得到代表目前手機方向的數值。 window.orientation的值列表如下:
0:與頁面首次載入時的方向一致
-90:相對原始方向順時針轉了90°
180:轉了180°
90:逆時針轉了90°據我測試,Android2.1尚未支援重力感應。以上即目前的觸控螢幕事件,這些事件尚未併入標準,但已被廣泛使用。本人Android2.1,未在其他環境下測試。
希望本文所述對大家的javascript程式設計有所幫助。

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++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技

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

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

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

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

在使用win10平板模式的時候,我們可以使用一些外接設備來擴展使用觸控螢幕的方式進行電腦的控制,但是很多的用戶們在使用平板模式的時候,無法觸摸要怎麼去解決呢? win10平板模式無法觸控螢幕怎麼辦:1.先接好外置的觸控裝置和顯示裝置。 2、然後從開始選單進入到設置,然後選擇。 3、然後在一欄中,找到多顯示器設置,選擇新增的顯示器後,選擇。 4、然後打開控制面板,進入選項中。 5、然後我們選擇進入(不接觸控裝置的話,這一項就不會有)6、然後我們就能夠配置筆和觸控螢幕顯示了。 7.配置完成後,我們就能夠直接的進行使用

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