JS—觸摸事件

觸摸事件

  1. touchstart事件:當(dāng)手指觸摸屏幕時候觸發(fā),即使已經(jīng)有一個手指放在屏幕上也會觸發(fā)。
  2. touchmove事件:當(dāng)手指在屏幕上滑動的時候連續(xù)地觸發(fā)。在這個事件發(fā)生期間,調(diào)用preventDefault()事件可以阻止?jié)L動。
  3. touchend事件:當(dāng)手指從屏幕上離開的時候觸發(fā)。
  4. touchcancel事件:當(dāng)系統(tǒng)停止跟蹤觸摸的時候觸發(fā)。關(guān)于這個事件的確切出發(fā)時間,文檔中并沒有具體說明,咱們只能去猜測了。

每個觸摸事件都包括了三個觸摸列表:

  1. touches:當(dāng)前屏幕上所有觸摸點的集合列表
  2. targetTouches: 綁定事件的那個結(jié)點上的觸摸點的集合列表
  3. changedTouches: 觸發(fā)事件時改變的觸摸點的集合

舉例來說,比如div1, div2只有div2綁定了touchstart事件,第一次放下一個手指在div2上,觸發(fā)了touchstart事件,這個時候,三個集合的內(nèi)容是一樣的,都包含這個手指的touch,然后,再放下兩個手指一個在div1上,一個在div2上,這個時候又會觸發(fā)事件,但changedTouches里面只包含第二個第三個手指的信息,因為第一個沒有發(fā)生變化,而targetTouches包含的是在第一個手指和第三個在div2上的手指集合,touches包含屏幕上所有手指的信息,也就是三個手指。

每個Touch對象包含的屬性如下:

{
    screenX: 511, 
    screenY: 400,//觸點相對于屏幕左邊沿的Y坐標
    clientX: 244.37899780273438, //觸摸目標在視口中的x坐標。
    clientY: 189.3820037841797,//相對于可視區(qū)域
    pageX: 244.37, 
    pageY: 189.37,//相對于HTML文檔頂部,當(dāng)頁面有滾動的時候與clientX=Y 不等
    force: 1,//壓力大小,是從0.0(沒有壓力)到1.0(最大壓力)的浮點數(shù)
    identifier: 1036403715,//一次觸摸動作的唯一標識符
    radiusX: 37.565673828125, //能夠包圍用戶和觸摸平面的接觸面的最小橢圓的水平軸(X軸)半徑
    radiusY: 37.565673828125,
    rotationAngle: 0,//它是這樣一個角度值:由radiusX 和 radiusY 描述的正方向的橢圓,需要通過順時針旋轉(zhuǎn)這個角度值,才能最精確地覆蓋住用戶和觸摸平面的接觸面
    target: {} // 此次觸摸事件的目標element
}

identifier
使用 Chrome 的模擬器發(fā)現(xiàn)多次觸摸動作,值始終不變。用真機測試則不會有問題(用的safari連接mac調(diào)試可以)。每次觸摸包括start,move,end這整個過程,標志符都不變。下一次觸摸動作開始,標志符就會變化。

screenY clientY
在 safari 中 screenY與clientY值是相等的,在iOS微信中兩個數(shù)值不等,但單位應(yīng)該也不一樣。

radiusX radiusY rotationAngle
測試過程中safari及微信內(nèi)置瀏覽器都不支持這些屬性,chrome模擬器可以。

參考資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 觸屏已經(jīng)是我們身邊電子設(shè)備的常態(tài)了。觸摸事件當(dāng)然也是隨著觸屏的出現(xiàn),用戶使用最多的事件啦!難道使用觸屏事件后,其他...
    Miss____Du閱讀 35,669評論 4 44
  • dbclick 在頭部加上這個,防止雙擊的時候瀏覽器放大 觸摸事件 touchstart 當(dāng)手指放在屏幕上觸發(fā)。 ...
    貞貞姐閱讀 642評論 0 7
  • 13.1 事件流 “DOM2級事件”規(guī)定事件流包括3個階段:事件捕獲階段,處于目標階段,事件冒泡階段。事件捕獲表示...
    Elevens_regret閱讀 541評論 0 0
  • 一、四種touch觸摸事件 事件 touchstart手指放在屏幕上時觸發(fā)。 touchmove手指在屏幕滑動時持...
    婷樓沐熙閱讀 452評論 0 0
  • 網(wǎng)易云音樂 聽見好時光 望洞庭 唐·劉禹錫 湖光秋月兩相和, 潭面無風(fēng)鏡未磨。 遙望洞庭山水翠, 白銀盤里一青螺。...
    滄浪漁歌閱讀 9,609評論 2 4

友情鏈接更多精彩內(nèi)容