5

テキストボックスがあり、何かが入力されるたびにそのデータを使用したい。一文字一文字。

何が起こっているかというと、値が入力されると、値が実際にテキストボックスに入れられる前にJavascript が実行されます。つまり、常に 1 文字遅れます。

$(document).ready(
      function() {
          $('#test').keypress(

          function() {
            var value = document.getElementById('test').value;
            alert(value);
          });
      })

<input id="test" type="text"  />

何が起こっているかは次のとおりです。

input alert
  w    ""
  e    "w"
  a    "we"
  l    "wea"
  t    "weal"
  h    "wealt"

動的に発生させたいのですが。つまり、「w」と入力すると、アラートの直後に「w」が含まれるようにします。

4

8 に答える 8

16

keypressはい、変更前に発生します。keyup後に起こります。代わりにそれを聞いてください。

于 2013-08-13T11:35:30.410 に答える
4

キーアップを使用する

$(document).ready(
    function() {
        $('#test').keyup(
            function() {
                var value = document.getElementById('test').value;
                alert(value);
            });
    })
于 2013-08-13T11:36:13.373 に答える
4

シンボルがテキストボックスに入力される前に発生するkeyupため、イベントを試す必要がありますkeypress

于 2013-08-13T11:35:37.667 に答える
2

keyup何かが入力された後に有効を読み取るために使用します。jQueryでそれを行う方法は次のとおりです。

$(document).ready(function() {
    $('#test').keyup(function() {
        alert($(this).val());
    });
});

デモ

于 2013-08-13T11:38:39.807 に答える
0

代わりにキーアップを使用してください。

$(document).ready(
      function() {
          $('#test').keyup(

          function() {
            var value = document.getElementById('test').value;
            alert(value);
          });
      })

于 2013-08-13T11:38:43.883 に答える
0

代わりにkeyupイベントを使用してください-:

         $('#test').keyup(    
           function() {
             var value = document.getElementById('test').value;
             alert(value);
          });
于 2013-08-13T11:37:33.000 に答える
0

keyup代わりに使用して、これを見てください:

http://jsfiddle.net/gEBc4/1/

于 2013-08-13T11:37:42.627 に答える
0

「keypress」の代わりに「keyup」イベントを使用してみてください。

への変更:

$(document).ready(
      function() {
          $('#test').keyup(
          function() {
            var value = document.getElementById('test').value;
            alert(value);
          });
      });

ワーキングプランク

于 2013-08-13T11:39:30.717 に答える