使用ASCII码的虚拟键盘

时间:2011-10-14 18:25:05

标签: javascript virtual-keyboard

我使用以下示例代码创建了一个虚拟键盘。

<script type="text/javascript">
function vkb(vap){
document.forms["virtual"]["text"].value += vap;
}
</script>
<form name="virtual">
<input type="text" name="text"/>
<input type="button" onclick="vkb('a')" value="a" style="border:none;"/>
</form>

此代码无法接受', and \符号。然后我以下面的方式修改了我的代码

<script type="text/javascript">
    function vkb(vap){
    document.forms["virtual"]["text"].value += vap;
    }
    function vkb1(){
    document.forms["virtual"]["text"].value += "'";
    }
    </script>
    <form name="virtual">
    <input type="text" name="text"/>
    <input type="button" onclick="vkb('a')" value="a" style="border:none;"/>
    <input type="button" onclick="vkb1()" value="'" style="border:none;"/>
    </form>

现在最后我只遇到问题\我无法使用我的虚拟键盘添加此笔画。任何人都可以帮我解决如何将\添加到文本框中的问题吗?其他人请提供使用asci值添加\的语法。

2 个答案:

答案 0 :(得分:2)

太久了,没看过: - )

试试这个:

<script type="text/javascript">
    function vkb(vap) 
    {
        document.forms["virtual"]["text"].value += vap.value;
    }
</script>
<form name="virtual">
    <input type="text" name="text"/>
    <input type="button" onclick="vkb(this)" value="a" style="border:none;"/>
    <input type="button" onclick="vkb(this)" value="\" style="border:none;"/>
    <input type="button" onclick="vkb(this)" value="'" style="border:none;"/>
    <input type="button" onclick="vkb(this)" value='"' style="border:none;"/>
</form>

优点是你不必写两次密钥的字母: - )

你的问题是某些角色有时需要转义(比如javascript中的\,例如,它用于执行\n这类意味着新行的事情,因此要有\你需要用第二个反斜杠来逃避它,比如\\

尝试在http://jsfiddle.net/T9Ptd/1/http://jsbin.com/uhakaq/3/edit

中运行它

答案 1 :(得分:0)

我不知道你已经包含了足够的细节来回答你的问题。但请记住,'\'字符在javascript中用作转义字符。这意味着你有时需要加倍,有时甚至更多,这取决于你通过多少级别的解释:

尝试'\\'来获取代码的斜杠,或者'\\\\'获得两个斜杠,这会将一个斜杠传递给另一个图层。