簡體   English   中英

HTML5 / Javascript - 是否可以在瀏覽器中的Macbook Trackpad上獲取觸摸事件的絕對坐標?

[英]HTML5/Javascript - Is it possible to get the absolute coordinates of a touch event on a Macbook Trackpad in the browser?

我想在瀏覽器中寫一些東西,在觸控板上記錄手勢。

由於我希望能夠跟蹤所有運動而不必擔心指針離開窗口,我首先研究了這個問題並使用MDN Pointer Lock API演示作為起點。

但是我注意到在MacBook上使用這個演示時,如果我抬起手指並在觸控板上的其他位置開始新的拖動,它會忽略我的手指在空中移動的距離,它只計算我的手指觸摸觸控板時完成的動作。 這與通常使用觸控板在操作系統中移動鼠標指針的方式一致。

但是對於我的具體應用,我希望我的手指的絕對 x和y在觸控板上。 是否可以構建上面鏈接的演示變體,其中紅點對應於手指的絕對位置? 例如,如果你抬起手指然后將其放在左上角,紅點總會跳到畫布的左上角?

我知道javascript Touch Events API ,它在平板電腦上使用時提供絕對坐標,但在Firefox(v36)或Chrome(v41)下在MacBook上運行時, 演示不會注冊任何觸控板輸入。

我還讀到可以在Chrome中啟用觸摸仿真,雖然我找不到我的版本下的復選框(也許只有特殊的開發人員版本才有這個),並且通過閱讀它,它似乎更像是一個鼠標觸摸翻譯所以我懷疑該仿真會對觸控板有特定的支持。

有沒有辦法通過HTML / Javascript獲取MacBook觸控板上觸摸事件的絕對x,y坐標?

我真的不相信你能夠讓觸控板以你想要的方式工作。 記住,觸控板應該充當鼠標,它就像一個扁平的軌跡球。 想象一下,每當你按手指時手指都會按下光標,然后每當你按下觸控板時光標都會在手指下方居中。

除非您能夠將觸控板1:1映射到屏幕,就像Wacom平板電腦那樣,觸控板與屏幕無關; 它只知道鼠標。

Chrome(版本號46.0.2490.71 m)中 ,您可以通過在仿真模式下啟用觸摸事件來模擬觸摸事件:

  1. 打開開發工具F12
  2. 單擊左上角的電話圖標或按Esc打開更好的控制台
  3. 單擊仿真選項卡
  4. 轉到“ Sensors面板
  5. 檢查Emulate touch screen

在Chrome中啟用仿真功能

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM