我必须实现一个简单的屏幕键盘,用户必须首先单击 10 个输入框之一(使其获得焦点),然后使用屏幕键盘将字母添加到焦点输入。
我遇到的问题是,在 IE(7、8 和 9)中,字母每次都被添加到第 5 个输入框中,无论哪个输入框试图获得焦点。
谁能澄清为什么会这样?
下面我提供了在 Chrome 和 Firefox 中完美运行的代码。
<img onClick='addIt("q")' src = 'images/alphabet/q.png' style='width:50px;height:50px;cursor:pointer'></div>
当点击图片时,它会调用下面定义的 JS 函数“addIt('q')”:
function addIt(key){
selectedElement = (document.forms["foo"].elements["focusedField"].value!='')?document.forms["foo"].elements["focusedField"].value:"bar";
d = document.forms["foo"].elements[selectedElement];
d.value = d.value + key;
}
在单击输入框时分配focusedField,该输入框是所需功能的密码类型(用户不应看到他正在输入的内容)。
<input type='password' name='4_1' id = '4_1' onFocus='document.forms["foo"].elements["focusedField"].value = this.name'/>