使用键盘事件按Tab键时,表单字段不会突出显示(选择)

时间:2012-08-13 19:18:50

标签: jquery keyup

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

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

我在keyup上运行了该函数。问题是当用户按Tab键移动到下一个字段时,下一个表单字段失去焦点。我假设它是由keyup事件引起的。我怎样才能解决这个问题?我正在使用jQuery 1.7.2。

1 个答案:

答案 0 :(得分: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中运行良好。