0

以下のサンプルコードで仮想キーボードを作成しました。

<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 値を使用して追加する構文を教えてください。

4

2 に答える 2

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>

利点は、キーの文字を2回書く必要がないことです:-)

あなたの問題は、いくつかの文字がエスケープする必要があることです(\たとえば、javascriptのように、それ\nは新しい行を意味するようなことをするために使用されるので\、2番目のバックスラッシュでエスケープする必要があります\\

たとえば、ここで実行してみてくださいhttp://jsfiddle.net/T9Ptd/1/またはhttp://jsbin.com/uhakaq/3/edit

于 2011-10-14T18:29:06.953 に答える
0

あなたの質問に答えるのに十分な詳細が含まれているかどうかわかりません。ただし、「\」文字は JavaScript でエスケープ文字として使用されることに注意してください。つまり、場合によっては 2 倍にする必要があり、通過する解釈のレベルによってはさらに倍増する場合もあります。

コードにスラッシュを入れるには '\\' を、スラッシュを 2 つ入れるには '\\\\' を試してください。

于 2011-10-14T18:33:24.233 に答える