【问题标题】:How can I focus on an input field when a phonegap page loads?加载 phonegap 页面时如何专注于输入字段?
【发布时间】:2011-04-03 04:46:44
【问题描述】:

我想在页面加载时专注于 PhoneGap 应用程序中的文本输入。当 DOM 准备好时,我尝试了 MooTools 版本 $('entry').focus();document.getElementById('entry').focus()

当在普通的网络浏览器中查看 HTML 页面时,这可以正常工作,但在运行 PhoneGap 的 iPhone 模拟器中,它不起作用。

有没有办法专注于强制出现虚拟键盘的 iPhone 表单域?

【问题讨论】:

    标签: javascript iphone focus mootools cordova


    【解决方案1】:

    从 iOS 6 开始,UIWebView 类有一个名为“keyboardDisplayRequiresUserAction”的属性。如果您想以编程方式聚焦文本表单元素,请通过 phonegap config.xml 将其设置为 false:

    <preference name="KeyboardDisplayRequiresUserAction" value="false" />
    

    默认值为真。

    更多:http://community.phonegap.com/nitobi/topics/calling_focus

    【讨论】:

    • 你的答案应该在最上面,谢谢伙计!效果不错。
    【解决方案2】:

    据我所知,这是对 iPhone 和 Android 上 WebKit 的有意限制;只有用户触摸动作才能触发键盘。我仍在尝试制定解决方法,但我不是很乐观。

    【讨论】:

    • 您找到解决方法了吗?似乎仍然不是它的解决方案。
    • @James:从未找到解决方法。但是,在 iOS6 上,针对主屏幕 Web 应用程序和正确配置的 UIWebViews 的策略已被撤销。这是一个很好的妥协,可能是我们所希望的最好的。
    • 我确实设法通过编写自定义 PhoneGap 插件并用原生 UITextView 完全替换 HTML 输入来使其工作 - 不理想,但它确实有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多