javascript - 使用 Opera Mobile 10 扫描输入

标签 javascript opera-mobile

我们为一个 PDA 应用程序选择了 Opera Mobile,一切都很顺利,直到我们遇到关于将扫描输入到其中一个文本字段的问题。

解决此问题的一般方法是在执行扫描操作时将一个文本框设置为具有焦点。

不幸的是,Opera 有意无意地不支持这一点。当您进入屏幕时焦点无处可去,并且无法明确设置它。接下来最糟糕的是,您也无法检测到按键事件,这使得几乎不可能从扫描操作中获取输入事件。

我不知道为什么 Opera,最受好评的移动浏览器之一,不支持这个。

这些是同一个问题被一遍又一遍问的地方,

http://dev.opera.com/forums/topic/255066

http://dev.opera.com/forums/topic/650332

http://dev.opera.com/forums/topic/384311

我们也在 Opera Dev 论坛上发帖,似乎他们(到目前为止)对此没有解决方案。如果有人尝试过解决方法,我们很想听听解决方案。

请注意 here 中的解决方案在 Opera Mobile 10 中不起作用。我还没有在建议的 9.X 版本中尝试过。

最佳答案

我自己找的。这是如何做到的。

在表单中有一个隐藏按钮

input type="button" id='myHiddenButton' visible='false' onclick="javascript:doFocus();" width='1px' style="display:none"

有一个 javascript 在隐藏按钮的点击事件上被触发。

     function doFocus() {
         var focusElementId = "MyTextBox"
         var textBox = document.getElementById(focusElementId);
         textBox.focus();
     }

在文档末尾使用 javascript 单击按钮

     function clickButton() {
         document.getElementById('myHiddenButton').click();
     }

     setTimeout("clickButton()", 100);

关于javascript - 使用 Opera Mobile 10 扫描输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5776484/

相关文章:

javascript - 遍历 JS 数组的定义元素

javascript - 创建追加函数后如何最小化单个框

php - 为什么我在 Opera Mobile 中打开网页时会放大?

android - Opera Mini 和 WM6.1 上的视口(viewport)与 `device-width` 的 100% 不匹配

android - <audio> 无法使用 Android 浏览器在 https 上播放

javascript - PHP - 如何根据使用 javascript 生成的动态内容发布关系

javascript - 在cshtml中编码特殊字符

java - 判断当前Javascript实现是否是Rhino

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