当我专注于文本框时,如何显示Caps,Shift,Enter按钮

时间:2014-03-21 05:20:52

标签: javascript jquery html

我使用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)方法中维护代码。

1 个答案:

答案 0 :(得分:0)

当用户按下shift / caps时,最好设置一个标志而不是向文本框插入任何内容。例如:

"Shift":function(){
                isShift=1;
            }
"Caps":function(){
                isCap=1;
            },

然后在插入字母时检查标志。如果设置了isShiftisCap,则插入大写字母。此外,isShift也应设置为0

它只是PoC代码,您将知道如何实现它。