使用 Opera Mobile(试过 9.5 和 10),我无法使用 Javascript 将光标置于文本框内。
我有一个条形码扫描器,所以我想让文本框自动聚焦,这样它就可以接收自动条形码输入,而无需用户点击。必须点击并不是真正的问题,如果扫描仪在文本框未聚焦时尝试扫描,Opera 会导航到本地“欢迎使用 Opera”页面,即使主页设置已更改。
我试过:
- jQuery.focus()
- jQuery.live()
- 准系统 Javascript .focus()
- input标签中的autofocus属性
- 输入标签上的 tabindex="-1"
- putCursorAtEnd() 找到 here
- 使用 setTimeout() 将上述内容包装在计时器中
Opera Mobile 一定有办法做到这一点。所有其他 Javascript 都没有问题。
最佳答案
我已经找到了解决方案。我使用一个名为 ScanWedge 的应用程序,它将扫描的条形码插入到具有焦点的文本框中。问题是我需要在扫描发生之前将其对焦。
在 ScanWedge 设置中,有一个选项可以发送带有条形码的前缀,还有一个选项可以在前缀中启用转义(需要打开),我只是使用\x0D 前缀,这意味着发送回车键在条形码之前。
这是有效的,因为 focus() 方法突出显示文本框但不插入光标,但是如果在突出显示文本框时按下回车键,则会插入光标。
关于javascript - Opera Mobile 无法使用 Javascript 聚焦文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5715179/