【发布时间】:2018-08-11 06:27:13
【问题描述】:
大家晚上好,
我在 iOS 11 上发现了一个问题。我检查了以下设备:iPhone 8 (11) 和 6 (11.2)。在 iPhone 7 (10) 上没问题。
复制:
- 转到可以垂直滚动的网站,例如谷歌搜索。
- 通过控制台添加以下脚本(或类似内容)。
-
向下滚动页面并检查控制台的日志。它变得无响应,并且似乎只在页面顶部附近工作。
function touchHandler(type) { console.log(type); } ['start', 'move', 'end'].forEach((type) => { document.body.addEventListener(`touch${type}`, ({ type }) => { touchHandler(type); }); });
有人知道为什么会这样吗?
如果需要现场示例,请告诉我。我可以用上面的方法轻松复制它。
我希望这是有道理的(我睡着了)。
编辑:
经过进一步调查,我发现了以下额外信息:
- 触摸事件不会持续触发(与旧 iOS 版本不同)。
- 事件必须在重新触发之前结束。
尝试拖动两次。它不会第二次输出日志。如果您等待几秒钟,触摸事件将再次起作用。
有没有办法让触摸事件在 iOS 11 上持续工作?
干杯!
【问题讨论】:
标签: javascript ios mobile ios11 touch-event