0

モバイル サファリを使用してアクセスする Web アプリケーションを構築しています。

iOS7 にアップグレードした後、touchmove イベントからの位置更新の頻度が大幅に減少しています。できれば記事、説明、またはバグレポートへのリンクを使用して、このイベントが抑制されていることを誰かが確認できますか?

私が使用するコードは非常に単純です。それはただ従いtouchmove、その位置を使用して div の高さを更新するだけです。これは、カスタム スライダー/フィル バー UI を作成するために使用されます。

View = Backbone.View.extend
  events:
    touchmove:  'onDragMove'
  onDragMove: (event) ->
    event.preventDefault()
    @_follow event
  _follow: (event) ->
    @windowHeight = @windowHeight || $(window).height() # Don't calculate window height every drag increment :)
    @personHeight = @personHeight || @$el.height()
    @$fill =        @$fill || @$(_fillSel)
    touch = event.originalEvent.touches[0] || event.originalEvent.changedTouches[0]
    y = touch.pageY
    height = @windowHeight - y
    percentage = Math.round height / @personHeight * 100
    percentage = @_boundValue percentage
    @$fill.css height: height
    percentage

更新する前は、これは流動的で反応が良かったです。更新後、位置の更新に遅れが生じます。イベントがAppleによってデバウンスまたは抑制されたように見えます。

他の誰かがこれを見ていますか?

4

2 に答える 2

1

JavaScriptスクロール実装を使用して同じ問題が発生しました。

同様の質問で提供されているCSSを使用した解決策を見つけました:-):

https://stackoverflow.com/a/19061390/2553142

于 2013-11-25T10:28:05.417 に答える