javascript - 如何在键盘显示时禁用 UIWebView 的自动滚动

标签 javascript ipad ios5 cordova keyboard

我有一个使用 PhoneGap(HTML5、JavaScript,非 native )的应用程序。每当我单击应用程序中的 TextArea 时,就会弹出一个恶性错误,该错误会在屏幕上移动我的某些元素(具体来说,它会混淆位置:固定的内容)。

要解决这些问题,我希望能够禁用在键盘弹出时滚动 UIWebView 的功能,但我不确定如何执行此操作。

不确定这是否清楚,但是如何在键盘显示时禁用 UIWebView 的滚动。

最佳答案

我认为这是 UIWebView 中的错误(或者更确切地说是缺少功能?)。我通过在 -keyboardWillShow: 上保存 textView.scrollView.contentOffset 并将 contentOffset 设置为 中保存的值来解决它 - keyboardDidHide:

不好,因为您仍然会看到它短暂地滚动,但比完全失去焦点更令人不安。

另一种方法是将带有长文本的部分实现为原生 UITextView,这样就不会发生这种不良行为。

编辑: 另一种解决方法是不使用 contenteditable。如果您可以设法设计一个普通的文本输入字段,那么滚动将缩放到当前选定的文本字段(顺便说一下,这也是为什么 contenteditable 的行为如此奇怪,因为它找不到任何可以放大的东西)。此外,*!§*$ previous-next keyboardInput 栏再次变得有用。

关于javascript - 如何在键盘显示时禁用 UIWebView 的自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916724/

相关文章:

javascript - 防止元素包装

ios - instantiateViewControllerWithIdentifier 在哪里使用

ios - Twitter completionHandler 在成功时卡住应用程序

objective-c - 在 iOS 中保持套接字连接

javascript - 将代码传递给要执行的函数

javascript - 如果数字在两个数字之间加/减 10 addclass

iphone - 自定义 UITabBar 背景图像在 iOS 5 及更高版本中不起作用

iphone - 如何将数据写入plist

javascript - JavaScript 异步编程的新手。有什么建议吗?

ios - iPad 在 subview Controller 中显示 UIActionSheet 时崩溃