使用Opera Mobile 10扫描输入

时间:2011-04-25 08:08:41

标签: javascript opera-mobile

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

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

不幸的是,有意或无意地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版本中尝试过。

1 个答案:

答案 0 :(得分:5)

我自己找到了。以下是如何做到这一点。

在表单中有一个隐藏按钮

  

输入类型=“按钮”   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);