如何将焦点返回到浏览器中的文本输入

Posted

技术标签:

【中文标题】如何将焦点返回到浏览器中的文本输入【英文标题】:How to return the focus to a textInput in a browser 【发布时间】:2011-12-04 13:59:40 【问题描述】:

我需要将文本输入集中到 Facebook 登录弹出窗口中。我正在使用虚拟键盘来模拟物理键盘,但是当我单击一个键时,文本输入失去焦点并且字母没有写入该字段。

如何在文本输入中保持焦点?

【问题讨论】:

你试过txtInput.setFocus() 另一个想法:延迟后使用callLater 调用txtInput.setFocus() 问题是我无法参考浏览器中的文本输入...我不知道如何将文本输入(邮件文本输入)输入到浏览器中的 facebook 登录窗口 @PranavHosangadi 问题是我无法引用浏览器中的文本输入...我不知道如何将文本输入(邮件文本输入)输入到 Facebook 登录中浏览器窗口 【参考方案1】:

我不确定创建自己的虚拟键盘是否是一个聪明的主意,因为所有手机都已经有一个,你只需要在 Flex 中设置useSoftKeyboard

此外,您始终可以通过将 focusEnabled 和 hasFocusableChildren 设置为 false 来移除组件的可聚焦性。

【讨论】:

好的,感谢您的帮助,但问题是我不是为移动设备开发,我有兴趣在一台 PC 上开发...另一个想法???感谢您的宝贵时间! 是的,我尝试为 virtaul 键盘的每个键以及包含它的 Vbox 设置 focusEnabled false,但不幸的是,它不起作用...我不知道是否有办法维护专注于浏览器的输入... Thakns J_A_X 等等,文本输入是 html 而不是 Flex? 是的,我的意思是,我将 facebook 登录浏览器打开到一个新窗口,我添加了我的虚拟 qwerty,当我按下一个键时,我失去了焦点并且按下了键但没有倾斜到facebook页面中的inputText... 我真的不明白你为什么在浏览器中使用 Flex 应用程序,只是为了虚拟键盘,并期望它在可聚焦的文本输入中工作。其次,您为什么不直接制作一个 Air 浏览器来执行此操作,而不是使用虚拟键盘?我猜另一种解决方案是创建一个奇怪的 javascript hack,或者只使用 html/javascript 来创建虚拟键盘......无论哪种方式,你现在所做的都是非常低效的。【参考方案2】:

我终于找到了另一个解决方案...使用getElementsByTagName('theElementID'),我可以在浏览器中获得对 textInputs 的引用,并且可以修改其属性...

例如,

emailStringObject =this.html.htmlLoader.window.document.getElementById('email');
emailStringObject.value="example@correo.com"

【讨论】:

以上是关于如何将焦点返回到浏览器中的文本输入的主要内容,如果未能解决你的问题,请参考以下文章

vb6 webbrowser 如何判断当前网页中获取焦点的是否一个文本框?

使用 JavaScript 将光标放在文本输入元素中的文本末尾

如何在没有焦点的情况下将输入传递到网站?

ios设备显示问题

急!!!高手进,IE网页文本框不能获得焦点,无法输入,查看版本提示出错,

css怎么让Android 浏览器焦点在文本输入框时不自动放大页面