0

我正在使用这个简单的函数对某些数据执行正则表达式过滤器。我的函数 ,digits只是对输入执行正则表达式并过滤掉除数字以外的任何数据。我不认为这是问题所在。

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

我有在keyup上运行的功能。问题是当用户按下 tab 键移动到下一个字段时,下一个表单字段会失去焦点。我假设它是由 keyup 事件引起的。我怎样才能解决这个问题?我正在使用 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 回答