编程语言
首页 > 编程语言> > javascript – IOS HTML禁用双击缩放

javascript – IOS HTML禁用双击缩放

作者:互联网

我正在设计一个主要关注数据输入的网站.在我的一个表单中,我有一些按钮可以快速递增和递减表单字段中的数字值.我在用

<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开始,Apple出于可访问性原因删除了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
但是,这会禁用快速点击,这虽然可以防止双击缩放,但也会阻止用户快速输入值.有没有办法允许快速按下按钮,同时还禁用双击缩放?

解决方法:

CSS属性touch-action对我有用.在iOS 11.1上测试过.

button {
    touch-action: manipulation;
}

有关详细信息,请参阅MDN:https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action

标签:html,javascript,ios,iphone,ios10
来源: https://codeday.me/bug/20191004/1854136.html