老司机三级_天天干天天操天天爽_女人被爽到娇喘呻吟视频_久久国产精品99久久久大便 - 亚洲日本系列

新手必‘暈’的changedTouches,您肯定不知道的!(框架細(xì)節(jié)十二)

  • • 發(fā)表于 9年前
  • • 作者 Roluce
  • • 5672 人瀏覽
  • • 1 條評(píng)論
  • • 最后編輯時(shí)間 9年前
  • • 來自 [技 術(shù)]

原創(chuàng)聲明:本文為作者原創(chuàng),未經(jīng)允許不得轉(zhuǎn)載,經(jīng)授權(quán)轉(zhuǎn)載需注明作者和出處

以初學(xué)者的視角看問題,感謝各路大神的糾錯(cuò)與指教!

A:模擬器觸摸點(diǎn)的局限

模擬器只能用鼠標(biāo)點(diǎn),所以同一時(shí)間只能是一點(diǎn)(Touches數(shù)組只有一個(gè)對(duì)象)。
其實(shí)真機(jī)同一時(shí)間可以有多個(gè)觸點(diǎn)。
安卓/IOS手機(jī)至少2點(diǎn)觸摸,蘋果支持5點(diǎn)觸摸。(Touches數(shù)組可以有多個(gè)多個(gè)對(duì)象)。


B:官方文檔如下(本章重點(diǎn)討論的)


touches

事件發(fā)生那一刻,當(dāng)前停留在屏幕中的觸摸點(diǎn)信息

模擬器的只支持鼠標(biāo)單點(diǎn),所以這點(diǎn)就在“引起事件”的這個(gè)組件上。
當(dāng)真機(jī)有多點(diǎn)觸摸的時(shí)候,事件發(fā)生那一刻,記錄屏幕上所有的手指觸摸點(diǎn)信息。
即使這個(gè)觸摸點(diǎn)不在“引起事件”的這個(gè)組件上。


changedTouches

事件發(fā)生那一刻,當(dāng)前變化的觸摸點(diǎn)信息

“涉及當(dāng)前事件的,頁(yè)面上最新更改的”的 所有手指(觸摸點(diǎn))的列表

如果你在使用touchend,那么這個(gè)屬性 非常重要。
在這種情況下,屏幕上都不會(huì)再出現(xiàn)手指,因此touches應(yīng)該為空,但你仍然可以通過查看 changedTouches數(shù)組來了解最后發(fā)生的事情。


C:?jiǎn)吸c(diǎn)舉例

touchstart事件

touches
觸摸開始事件那一刻,屏幕上的觸摸點(diǎn)為A

changedTouches
觸摸開始時(shí),涉及當(dāng)前事件的觸摸點(diǎn)也為A

所以:touches數(shù)組和changedTouches數(shù)組相同


touchend事件

touches
觸摸結(jié)束事件那一刻,屏幕上已經(jīng)沒觸摸點(diǎn)了

changedTouches
涉及此“觸摸結(jié)束事件”的觸摸點(diǎn)也為A,

所以touches數(shù)組為空,changedTouches數(shù)組為A的信息



D:多點(diǎn)舉例

比如div1, div2,只有div2綁定了touchstart事件

開始
放下一個(gè)手指在div2上,觸發(fā)了touchstart事件,
這個(gè)時(shí)候,兩個(gè)集合的內(nèi)容是一樣的,都包含這個(gè)手指的touch。

然后
再放下兩個(gè)手指一個(gè)在div1上,一個(gè)在div2上,這個(gè)時(shí)候又會(huì)觸發(fā)事件。
changedTouches里面只包含第二個(gè)第三個(gè)手指的信息,因?yàn)榈谝粋€(gè)沒有發(fā)生變化。
touches包含屏幕上所有手指的信息,也就是三個(gè)手指。



E:關(guān)于identifier

identifier
一個(gè)數(shù)值,唯一標(biāo)識(shí)觸摸會(huì)話(touch session)中的當(dāng)前手指。

模擬器上只支持一點(diǎn),作用不是很大。
在真機(jī)支持多點(diǎn)時(shí),用于識(shí)別各個(gè)手指接觸點(diǎn)。

分享到:
1條評(píng)論
Ctrl+Enter
作者

Roluce

Roluce

APP:0 帖子:50 回復(fù):112 積分:3610

已加入社區(qū)[3218]天

山東_聊城_qq:635068

作者詳情》
Top