我正在设计一个主要专注于数据输入的网站。在我的一个表单中,我有一些按钮可以快速增加和减少表单字段中的数字值。我在用
<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
禁用似乎使用 IOS 的 Firefox 应用程序工作的缩放。然而,当另一位用户使用 Safari 对其进行测试时,点击按钮的速度过快导致页面放大,分散了用户的注意力,无法快速增加数值。似乎从 IOS 10 开始,苹果出于可访问性原因删除了 user-scalable=no ,这就是为什么它只适用于 Firefox 等第三方浏览器的原因。我发现最接近禁用双击缩放的是这个
var lastTouchEnd = 0;
document.addEventListener('touchend', function (event) {
var now = (new Date()).getTime();
if (now - lastTouchEnd <= 300) {
event.preventDefault();
}
lastTouchEnd = now;
}, false);
来自 https://stackoverflow.com/a/38573198 但是,这会完全禁用快速点击,这虽然会阻止双击缩放,但也会阻止用户快速输入值。有什么方法可以让快速按下按钮,同时禁用双击缩放吗?
原文由 tchatow 发布,翻译遵循 CC BY-SA 4.0 许可协议
CSS 属性
touch-action
对我有用。在 iOS 11.1 上测试。有关详细信息,请参阅 MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action