0

この単純な関数を使用して、一部のデータに対して正規表現フィルターを実行しています。私の関数 はdigits、入力に対して正規表現を実行し、数値以外のデータを除外するだけです。それが問題だとは思いませんが。

$(document).ready(function() {
  var numberFields = "#adjusted,#historical,#projected";
   $(numberFields).keyup(function() {
      $(this).digits();
  });
});

キーアップで関数を実行しています。問題は、ユーザーがタブ キーを押して次のフィールドに移動すると、次のフォーム フィールドがフォーカスを失うことです。キーアップイベントが原因だと思います。どうすればこれを修正できますか? jQuery 1.7.2 を使用しています。

4

1 に答える 1

0

私は代わりにこれをやった:

$(numberFields).keypress(function(e) {
   //if tab key is pressed, move to next form field.
   if(e.keycode == 9) {
      $(this).next().focus();
      $(this).next().select();
   } else {
      //filter data with digits function
      $(this).keyup(function() {
         $(this).digits();
      });
   }
});

IE 8 で問題なく動作します。

于 2012-08-13T20:31:05.343 に答える