我使用javascript为虚拟键盘编写了以下代码。
Jsp页面:
<form>
<label for="text">Enter Text: </label>
<input id="text" name="text" type="text" size="50" onfocus="myFunction(this)" />
<input name="" type="reset" value="Clear" />
</form>
使用Javascript:
function myFunction(x)
{
}
function clicked(val)
{
var txt;
txt = document.getElementById('text').value;
if(val != 'B')
{
txt = txt + '' + val;
}
else
{
txt = txt.substr(0,(txt.length)-1);
}
document.getElementById('text').value = txt;
}
$(".dialog").dialog({
autoOpen: false,
height: 200,
width: 930,
modal: false,
draggable: true,
resizable: true,
buttons : {
"ESC":function(){
var val="Esc";
clicked(val);
},
"1":function(){
var val="1";
clicked(val);
},
"Tab":function(){
var val="T";
clicked(val);
},
"Caps":function(){
var val="q";
clicked(val);
},
"Shift":function(){
var val="";
clicked(val);
},
"B":function(){
var val=" ";
clicked(val);
},
},
});
当文本框聚焦显示对话框时,如键盘,当我点击某个按钮时,它在文本框中输入的按钮值除了Caps,Shift,Enter和Tab。
请提供这些Caps,Shift,Enter,Tab所需的代码。
我不确定如何在clicked(val)方法中维护代码。
答案 0 :(得分:0)
当用户按下shift / caps时,最好设置一个标志而不是向文本框插入任何内容。例如:
"Shift":function(){
isShift=1;
}
"Caps":function(){
isCap=1;
},
然后在插入字母时检查标志。如果设置了isShift
或isCap
,则插入大写字母。此外,isShift
也应设置为0
。
它只是PoC代码,您将知道如何实现它。