如何将焦点返回到浏览器中的文本输入
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 将光标放在文本输入元素中的文本末尾