使用 ASCII 代码的虚拟键盘
我使用以下示例代码创建了一个虚拟键盘。
<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>
此代码无法接受 ' 和 \
符号。然后我用下面的方式修改了我的代码
<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 值添加 \
的语法。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
太长了,没读过:-)
试试这个:
优点是你不必写两次键的字母:-)
你的问题是有些字符有时需要转义(比如
\<例如,在 javascript 中,它用于执行诸如
\n
之类的操作,这意味着换行,因此要使用\
,您需要使用第二个反斜杠对其进行转义,像\\
)尝试例如在这里运行它 http://jsfiddle.net/T9Ptd/1/ 或 http://jsbin.com/uhakaq/3/edit
Too long, didn't read :-)
Try this:
The advantage is that you don't have to write twice the letter of the key :-)
Your problem is that some characters sometimes need escaping (like the
\
in javascript for example, it's used to do things like\n
that means new line, so to have a\
you need to escape it with a second backslash, like\\
)Try running it for example here http://jsfiddle.net/T9Ptd/1/ or http://jsbin.com/uhakaq/3/edit
我不知道您是否提供了足够的详细信息来回答您的问题。但请记住,'\' 字符在 javascript 中用作转义字符。这意味着您有时需要将其加倍,有时甚至需要加倍,具体取决于您要经过多少级解释:
尝试使用 '\\' 在代码中添加斜杠,或使用 '\\\\' 获得两个斜杠,这会将一条斜线向下传递另一层。
I don't know that you have included enough detail to answer your question. Keep in mind, though, that the '\' character is used as an escape character in javascript. That means you sometimes need to double it up, and sometimes even more depending on how many levels of interpretation you are passing through:
Try '\\' to get a slash into the code, or '\\\\' to get two slashes, which would pass one slash another layer down.