6

当您在 iPhone Safari 中单击网站上的输入字段时,它会以输入居中的方式自动滚动内容。我想阻止 Safari 这样做并找到了几种解决方案,其中之一是:防止 <input> 元素在 iPhone 上滚动屏幕?聚焦后,我们使用 jQuery.animate() 回到原来的位置。

不幸的是,这只有在我通过 Safari 调用网站时才有效。一旦我将网站添加到主屏幕,焦点上的自动滚动就会再次出现。现在,当我将 body/html 元素在更正之前和之后的位置(使用上面提到的方法)写入控制台时,一切似乎都正常工作:网络应用程序认为它已经滚动回应该的位置即使我在视觉上没有注意到任何东西。

有什么建议吗?

4

1 回答 1

-1

在 React (JSX) 中为我修复了在输入点击时自动居中的问题:

<input onMouseDown={ev => ev.preventDefault()} />

它应该适用于任何附加事件处理程序的方式,例如addEventListener

于 2018-10-23T12:02:02.040 回答