我正在將一段HTML5應用程序的代碼從iOS/Android移植到Windows Phone 8.在此應用程序中,有一個包含多個元素的垂直滾動視圖。 在原始應用程序中,我使用「touchstart」和「touchend」事件。這意味着每次用戶觸摸List時,我都會收到一個touchstart事件,甚至在滾動後,當用戶擡起手指時,我會得到一個touchend。MSPointer等效於「touchend」
MSPointer模型的工作原理不同。有MSPointerDown這是touchstart的確切等效物,所以在這方面沒有問題。 我無法讓我的頭瞭解如何對touchend行爲進行建模。 MSPointerUp是不夠的,因爲只有當用戶將其手指放在發生MSPointerDown的同一個容器內時纔會拋出它。因此,如果用戶觸摸該列表,然後向上滑動,然後擡起手指,則該事件不會被觸發。還有MSPointerOut,當用戶離開MSPointerUp被觸發的容器時觸發,這裏的問題是,一旦容器被留下(所以在滾動列表期間)並且在用戶提升後不會觸發它的手指。
我在這裏遇到了一些問題,如何用MSPointer建模一個「touchend」,它將以與Webkit相同的方式進行觸發。
乾杯
湯姆
你看過pointercancel嗎?它似乎可以爲你工作... http://msdn.microsoft.com/en-us/library/ie/hh846776(v = vs.85).aspx – t1nr2y
與pointercancel的問題是,它被解僱後用戶滑動一定的距離(即使他不擡起手指)。取消表示以指針開頭的事件不會觸發指示器(出於各種原因,可能是因爲用戶離開指示區域或滑動過長) – Tom