2012-01-16 20 views
0

入力時にテキストの追加(インスタント)変換を行うには、デフォルトのkeypress-eventを置き換える必要があります。これを試してみてください:jQuery.keypress:インスタント・テキスト処理

field.keypress(function(e){ 
    field.val(function(i, val){ 
     return val.toUpperCase(); 
    }); 
    return false; 
}); 

しかし、入力が完全に満たされていない場合は、その理由が分かります。しかし、どのように?)

"text-transform"を提案しないでください。toUpperCase()は単なる例です。 ))

+0

あなたの質問は何ですか? – JMax

+0

入力すると、大文字のすべてを即座に置き換える(たとえば)方法を教えてください。 – demx

+0

@Stefan最後の行は読んでいますか? OPは、「テキスト変換」を提案しないことを明確に要求した。 –

答えて

3

keypressイベントは、テキストフィールドが実際に変更される前に発生します。

イベントをkeyupイベントにバインドする必要があります。

このkeyupイベントは、キーストロークごとに1回だけ発生します。 aキーを押すと、各文字がテキストフィールドに入力される前に、keypressイベントが発生します。 keyupイベントはの後、のキーが解放された後にのみ発生します。したがって、eを10秒間保持すると、指を離すまで入力フィールドに小文字のe文字が含まれます。