0

ユーザーが一連のショートカット ボタンを使用してテキスト領域にテキストを入力できる、タブレットで使用するコンセプトに取り組んでいます。もちろん、ショートカット ボタンはすべての可能性をカバーしているわけではないので、テキスト ボックスに通常どおりテキストを入力する機能を保持したいと考えています。

私が抱えている問題は、ユーザーがテキストエリアにフォーカスを適用してプレーンテキストを編集した後、ボタンが無効になることです。

<script type="text/javascript">
$(document).ready(function() {
    $("#keypad button").click(function() {
        var txt = $(this).val();
        $("#Textarea").append(txt);
        });
});

<div id="keypad">
<div id="row4">
    <button type="button" class="green45" name="Rt" value="Rt ">Rt</button>
    <button type="button" class="green45" name="Lt" value="Lt ">Lt</button>
    <button type="button" class="green45" name="Up" value="Up ">Up</button>
    <button type="button" class="green45" name="Down" value="Down ">Down</button>
    <button type="button" class="green45" name="Forward" value="Forward ">Forward</button>
    <button type="button" class="green45" name="Back" value="Back ">Back</button>
</div>

問題http://jsfiddle.net/J228n/2/を実証するために、このフィドルを作成しました。ボタンを使用してテキストを入力することから始め、通常どおりにテキストを入力してから、もう一度ボタンを使用してみてください。

4

3 に答える 3

2
$("#keypad button").click(function() {
    var txt = $(this).val();
    $('#Textarea').val(function(i,val){
        return val + txt;
   });
});

jsフィドル

.val()関数を使用して、古い値とボタンからのテキストを返す必要があります。

于 2013-04-09T02:04:18.393 に答える
1

これはうまくいきました:

$("#keypad button").click(function() {
        var txt = $(this).val();
        $("#Textarea").val($("#Textarea").val()+txt);
});
于 2013-04-09T02:09:49.357 に答える
1

これを試して:

$("#keypad button").click(function() {
        var txt = $(this).val();
        var old =$("#Textarea").val();      
        $("#Textarea").val(old+txt);
});
于 2013-04-09T02:07:23.013 に答える