防止iPhone Web应用程序滚动输入字段的焦点

lor*_*zli 5 javascript iphone scroll webkit web-applications

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

不幸的是,只有通过Safari呼叫网站,这才有效.只要我将网站添加到主屏幕,就会再次显示焦点上的自动滚动.现在当我在修改它(使用上面提到的方法)之前和之后写入body/html-element的位置进入控制台时,一切看起来好像它正常工作:web-app认为它已经滚动回到它应该的位置即使我没有在视觉上注意到任何东西.

有什么建议吗?

Fil*_*las -1

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

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

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