2

入力の値の長さをチェックし、3 に達すると自動的に次の値にスキップしたい。スキップするためのコードはありますが、キーアップ イベントがキューに入れられる方法が頭痛の種です。

入力フィールドのハンドラーの例:

    $('input').on('keyup', function (e) {

    var $this = $(this);
    var code = e.keyCode || e.which;

    alert(String.fromCharCode(code)+' '+$this.val());

    // Handling of $this.val()==3

});

http://jsfiddle.net/tPyTq/1/

キーを放す前に 3 文字を入力します。すべてのイベントは入力の最終的な値を既に知っているため、長さのチェックは 3 文字すべてに対して時期尚早に起動します。

他のキーがまだ押されている間にキーアップイベントを発生させるにはどうすればよいですか? 説明が必要な場合はお尋ねください。

4

1 に答える 1

0

私はあなたが意味することを理解します。これには少しハッキングが必要な場合があります。

うまくいかないかもしれませんが、これを試してください:

  1. イベントリスナーを on に変更しますchange

    $('input').on('change', function(e) {
       //use console rather than alert
       console.log(String.fromCharCode(code)+' '+$this.val());
    });
    
  2. keyup次に、変更イベントを発生させる別のリスナーを追加します。

    $('input').on('keyup', function (e) {
        $(this).trigger('change');
    });
    
于 2013-03-01T16:21:48.610 に答える