fix(numpad): 修小键盘点击卡顿,touch-action: none → manipulation
诊断:用户反馈仅小键盘点击有延迟感,其他按钮正常。范围缩小后定位到
.numpad-button 上的 touch-action: none(上游 e178a079 引入)与 F7
内部 tap 事件处理叠加,让 click 事件合成慢一拍。backspace(自定义
.numpad-backspace-button 类)不受影响,刚好印证范围。
修复:改为 touch-action: manipulation(W3C 标准"快速点击"值),禁双
击缩放消除老 300ms 延迟,但保留 click 事件正常合成。
FORK.md #11 状态:🔍 调查中 → 🟢 已完成,附真因记录避免后续误诊。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -138,10 +138,17 @@
|
||||
- Tab 切换动画保持原样(设置中已有开关可控制)
|
||||
- 涉及文件:`src/styles/mobile/global.scss`
|
||||
|
||||
### 11. 🔍 点击响应卡顿(暂调查)
|
||||
**描述:** 移动端点击按钮有延迟感,点不上的问题。
|
||||
### 11. 🟢 小键盘点击卡顿(修正:范围非全局)
|
||||
**描述:** 移动端点击按钮有延迟感。
|
||||
|
||||
**初步判断:** 可能是接口响应慢导致,非前端交互延迟。等 #12 离线缓存方向明确后再评估。
|
||||
**真因(2026-05-02 定位):** **不是**全局点击/接口响应问题。诊断后确认仅小键盘有卡顿,其他按钮正常。根因是上游在 `.numpad-button` 上设了 `touch-action: none`(commit `e178a079` "code refactor" by MaysWind),与 F7 内部 tap 处理叠加后让 click 事件合成慢一拍。backspace(个人新增 `.numpad-backspace-button` 类)不受影响,刚好佐证范围。
|
||||
|
||||
**已完成:**
|
||||
- `.numpad-button` 的 `touch-action: none` 改为 `touch-action: manipulation`
|
||||
- `manipulation` 是 W3C 标准的"快速点击"值:禁双击缩放(消除老 300ms 延迟)但保留 click 事件正常合成
|
||||
- 涉及文件:`src/components/mobile/NumberPadSheet.vue`
|
||||
|
||||
**附带认知:** 原 #11 假设是"全局点击响应慢"或"接口慢",与 #12 离线缓存挂钩调研。实际诊断后跟那两条都无关,纯 CSS `touch-action` 与框架 tap 处理叠加导致。该认知值得记录避免后续误诊路径。
|
||||
|
||||
---
|
||||
|
||||
@@ -173,5 +180,5 @@
|
||||
| 8 | 点击时间默认日期 | 🟢 已完成 |
|
||||
| 9 | 分类默认展开 | 🟢 已完成 |
|
||||
| 10 | 全局动画加速 | 🟢 已完成 |
|
||||
| 11 | 点击卡顿优化 | 🔍 暂调查 |
|
||||
| 11 | 小键盘点击卡顿(touch-action 修复) | 🟢 已完成 |
|
||||
| 12 | 离线缓存 | ❌ 暂缓 |
|
||||
|
||||
@@ -531,7 +531,10 @@ watch(() => props.flipNegative, (newValue) => {
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
user-select: none;
|
||||
touch-action: none;
|
||||
/* 上游设的 touch-action: none 在 F7 tap 处理下让 click 慢一拍(小键盘卡顿
|
||||
的实际根因,不是网络/渲染)。改 manipulation:禁双击缩放 + 消除 300ms
|
||||
老延迟,但保留 click 正常合成。详见 FORK.md #11 */
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
.numpad-button-num {
|
||||
|
||||
Reference in New Issue
Block a user