javascript - Opera Mobile 无法使用 Javascript 聚焦文本输入

标签 javascript jquery focus opera-mobile

使用 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/

相关文章:

javascript - 屏幕加载后如何停止加载动画

javascript - 使用 bootstrap 和 jQuery 加载 XML

javascript - <ul> 元素如何接收焦点事件?

WPF:特定控件/ View / View 模型上的 LostFocus 事件

javascript - 看我的背景图片 : url() inside of other div

javascript - 本地安装 gulp 插件与全局安装 gulp 插件

javascript - 如何使用 JavaScript 选择前节点/ block 中的文本?

javascript - 如何在用户启用他们的 javascript 后立即重定向到页面?

javascript - 日期选择器在表单重新加载后显示选定的值

modal-dialog - 如果焦点陷阱阻止用户访问上下文 UI,例如浏览器?