首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery触地启动触屏交互

jQuery触地启动触屏交互
EN

Stack Overflow用户
提问于 2014-04-04 15:03:00
回答 1查看 2.6K关注 0票数 1

我有一个页面,里面有几个小盒子,当你点击它们的时候,它们会展开/折叠来显示细节。现在,我正在使用touchstart事件处理程序来触发展开/折叠,一切都运行得很好。

我所遇到的唯一问题是,当您试图滑动页面时,如果您第一次触摸的位置恰好在其中一个框内,它将触发展开,而且由于event.preventDefault()是在touchstart事件处理程序中被调用的,因此它阻止用户滚动。我想要发生的是,如果你碰巧碰到它,你就可以滑动滚动,而不需要展开它,在滑动时忽略触屏事件.

我的第一反应是简单地将展开/折叠功能从touchstart移动到touchend,然后将一个处理程序附加到用于touchmove的框中,然后调用event.stopImmediatePropagation(),这可以防止在开始滚动时触发touchend。然而,这种方法似乎不像触地启动那样具有响应性,因为需要相当长的时间才能触发它,而触地启动是非常快速、响应性强的,而且工作非常出色。

我已经在iPad上做过测试(第4代,在Safari和Chrome中测试过),这是touchend反应不快的地方。我还在Nexus 10 Android平板电脑(Chrome)上进行了测试,而touchend似乎根本没有启动。

有没有人在以下两方面有任何建议: 1)改进我所概述的解决方案的方法,还是2)另一种方法?

EN

回答 1

Stack Overflow用户

发布于 2014-04-08 15:14:10

最近,为了准备一个新项目,我一直在研究触摸事件,我遇到了另一个可能对您有所帮助的Stackoverflow:prevent touchstart when swiping

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22866359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档