2

入力ボックスに入力された文字について、入力ボックスからすぐにフィードバックを得ようとしています。入力の最大長は 1 文字であり、ユーザーが文字を入力してキーを離した瞬間に、jQuery にこの値を警告する必要があります。

以下は値をすぐに検出しますが、その後永久にループし続けます。これは厳密には問題ではありませんが、過度の緊張のようです。

$("#captcha").keyup(function(e) {
    ( $(this).val() == 'w' ) ? $(this).css("border-bottom","2px dotted #27bbb1") : $(this).css("border-bottom","2px dotted #ED0664") ;
    //e.preventDefault();
});

change()これはユーザーがフォーカスを変更したときにのみトリガーされるため、イベントとしては機能しません。キーを押した直後にこれが必要です。

ありがとう

4

2 に答える 2

6

おそらく、enter キーを使用してアラートを無視している可能性があります。これにより、keyup イベントもトリガーされます。これを試して:

$("#captcha").keyup(function() {
    $(this).blur();
    var val = $(this).val();
    alert( val );
});
于 2012-11-22T15:02:41.090 に答える
0

あなたのスクリプトは私にとってはうまくいきます。スクリプトを使用して作成したこのjsフィドルを試してください。以下の変更で

 <form>
  <input id="target" type="text" value="Hello there" />
</form>
<div id="other">
  Trigger the handler
</div>​

$("#target").keyup(function() {
    val = $(this).val();
    alert( val );
});
​

Yourscriptが機能している

于 2012-11-22T15:05:58.857 に答える