0

私は友人のためにページを作成していて、非表示のテキスト フィールドがあり、ユーザーが入力するとテキストが div に変換され、入力フィールドではなく画面に入力しているように見えます。

ページへのリンクは次のとおりです: http://merkd.com/godis.php

キーストロークに応答するために使用する関数は次のとおりです。

$('#hiddenInput').keydown(function() {
    var input = $('#hiddenInput').val();
    var html = '<div style="float: left;">'+input+'</div><div id="cursor">|</div>';
    $('#typingArea').html(html);
});

問題を確認できるように、テキスト フィールドが表示されます。テキストを入力または削除すると、次にキーを押すまで反応しません。そのため、1 文字入力すると、次の文字を入力するまで何も表示されません。

jQueryのドキュメントを見ました.on()が、これについては何も見つかりませんでした。どんな助けでも大歓迎です。

PS私はそれが別の質問であるべきだと知っていますが、テキストフィールドを常にフォーカスする簡単な方法はありますか? ユーザーがどこをクリックしても、入力してもテキストが表示されるようにしたいと考えています。

4

1 に答える 1

6

.keyup()最初に (keydown) を押したときに文字が入力されないため、イベントを使用しvar htmlて前の値を取得します。keypress2番目の部分では、イベントをバインドしdocumentて入力フィールドにフォーカスできます。

于 2013-08-28T02:53:10.150 に答える