我正在构建一个使用移动 Safari 访问的 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 抑制或抑制。
还有人看到这个吗?