欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

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

  • • 發表于 8年前
  • • 作者 Roluce
  • • 5581 人瀏覽
  • • 1 條評論
  • • 最后編輯時間 8年前
  • • 來自 [技 術]

原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處

以初學者的視角看問題,感謝各路大神的糾錯與指教!

A:模擬器觸摸點的局限

模擬器只能用鼠標點,所以同一時間只能是一點(Touches數組只有一個對象)。
其實真機同一時間可以有多個觸點。
安卓/IOS手機至少2點觸摸,蘋果支持5點觸摸。(Touches數組可以有多個多個對象)。


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


touches

事件發生那一刻,當前停留在屏幕中的觸摸點信息

模擬器的只支持鼠標單點,所以這點就在“引起事件”的這個組件上。
當真機有多點觸摸的時候,事件發生那一刻,記錄屏幕上所有的手指觸摸點信息。
即使這個觸摸點不在“引起事件”的這個組件上。


changedTouches

事件發生那一刻,當前變化的觸摸點信息

“涉及當前事件的,頁面上最新更改的”的 所有手指(觸摸點)的列表

如果你在使用touchend,那么這個屬性 非常重要。
在這種情況下,屏幕上都不會再出現手指,因此touches應該為空,但你仍然可以通過查看 changedTouches數組來了解最后發生的事情。


C:單點舉例

touchstart事件

touches
觸摸開始事件那一刻,屏幕上的觸摸點為A

changedTouches
觸摸開始時,涉及當前事件的觸摸點也為A

所以:touches數組和changedTouches數組相同


touchend事件

touches
觸摸結束事件那一刻,屏幕上已經沒觸摸點了

changedTouches
涉及此“觸摸結束事件”的觸摸點也為A,

所以touches數組為空,changedTouches數組為A的信息



D:多點舉例

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

開始
放下一個手指在div2上,觸發了touchstart事件,
這個時候,兩個集合的內容是一樣的,都包含這個手指的touch。

然后
再放下兩個手指一個在div1上,一個在div2上,這個時候又會觸發事件。
changedTouches里面只包含第二個第三個手指的信息,因為第一個沒有發生變化。
touches包含屏幕上所有手指的信息,也就是三個手指。



E:關于identifier

identifier
一個數值,唯一標識觸摸會話(touch session)中的當前手指。

模擬器上只支持一點,作用不是很大。
在真機支持多點時,用于識別各個手指接觸點。

分享到:
1條評論
Ctrl+Enter
作者

Roluce

Roluce

APP:0 帖子:50 回復:112 積分:3610

已加入社區[3103]天

山東_聊城_qq:635068

作者詳情》
Top