使用Opera Mobile 10扫描输入

Ill*_*ati 6 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论坛上发布过,似乎他们(到目前为止)还没有解决方案.如果有人尝试过解决方法,我们很乐意听取解决方案.

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

Ill*_*ati 5

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

在表单中有一个隐藏按钮

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();
     }
Run Code Online (Sandbox Code Playgroud)

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

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

     setTimeout("clickButton()", 100);
Run Code Online (Sandbox Code Playgroud)