移动端 H5 交互要点
历史:click 约 300ms 延迟
早期浏览器为区分 单击与双击,会在单击上增加约 300ms 延迟,移动端滚动体验差。
现代环境
实现 移动端体验最优、无缩放、无延迟、无滚动错位
html
<!-- 设置页面宽度等于设备宽度,初始不缩放,并且禁止用户手动缩放,保证页面在移动端正常显示、无横向滚动、交互更稳定。 -->
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<style>
/* 为优化移动端触摸体验,全局使用 touch-action: manipulation 禁用双击缩放行为,消除浏览器默认 300ms 点击延迟,提升页面交互响应速度。 */
* {
touch-action: manipulation;
}
</style>仍需顺畅点击时
- 优先使用
touch-action: manipulation(CSS)减少双击缩放带来的额外延迟感。 - 旧机型兼容可评估
fastclick等库(维护状态需自行确认):原理多为拦截 touch 事件合成 click。 - 自定义组件注意 焦点与可点击区域(至少约 44×44 CSS 像素利于触控)。
小结
先保证 viewport;多数新项目不必再为 300ms 专门上库;仍卡顿则从 主线程长任务、重排 方向排查(参见前端性能文档)。
