3

使用 Opera Mobile(尝试 9.5 和 10),我无法使用 Javascript 将光标置于文本框中。

我有一个条形码扫描仪,所以我想让文本框自动聚焦,以便它准备好接收自动条形码输入,而无需用户点击。必须点击并不是真正的问题,如果扫描仪在文本框未聚焦时尝试扫描,Opera 会导航到本地“欢迎使用 Opera”页面,即使主页设置已更改。

我试过了:

  • jQuery .focus()
  • jQuery .live()
  • 准系统 Javascript .focus()
  • 输入标签中的自动对焦属性
  • tabindex="-1" 在输入标签上
  • putCursorAtEnd() 在这里找到
  • 使用 setTimeout() 将上述内容包装在计时器中

必须有一种方法来使用 Opera Mobile。所有其他 Javascript 都可以正常工作。

4

1 回答 1

1

我已经找到了解决方案。我使用了一个名为 ScanWedge 的应用程序,它将扫描的条形码插入到具有焦点的文本框中。问题是我需要在扫描发生之前将其聚焦。

在 ScanWedge 设置中,有一个发送带有条形码的前缀的选项和一个在前缀中启用转义的选项(需要打开),我只是使用前缀 \x0D 这意味着在条形码之前发送回车键.

这是因为 focus() 方法突出显示文本框但不插入光标,但是如果在突出显示文本框时按下回车键,则插入光标。

于 2011-04-21T10:22:08.107 回答