我们已选择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版本中尝试过。
答案 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);