2014-09-26 53 views
0

我有两个文本框,我用两个文本框附加键盘事件,但它不像预期的那样工作。我想如果用户点击输入,如果任何文本框有焦点,然后我会检查按键是否输入。如果输入按键然后我会检查两个文本框有价值,如果是的话,表格会发布其他明智的返回假。使用多个文本框jquery附加键盘事件

这是我的代码,只是引导我在代码中缺少的东西。

$(function() { 
    var btns = $('#txtEmail,#txtPass'); 
    $.each(btns, function() { 
     $(this).keyup(function (e) { 
      if (e.type === 'keyup' && e.which === 13) { 
       return true; 
      } 
      else { 
       alert(this.val()); 
       return false; 
      } 
     }); 
    }); 
}); 
+0

每次都会在文件准备就绪状态下运行,所以里面的一切将在那一刻开始运行,所以keyup事件将被永远记录下来。 – 2014-09-26 11:14:59

+0

@BojanPetkovski对我来说,他似乎是正确的(尽管可能不是最直接的方式)将keyup事件绑定到文本字段(准备好文档)。我错过了什么吗? – 2014-09-26 11:16:54

+0

@BojanPetkovski这是不正确的,这段代码是有效的,[* does * work。](http://jsfiddle.net/n32ty26r/) – George 2014-09-26 11:18:33

回答

1

这里是一个解决方案http://jsfiddle.net/y35zmqhg/

var btns = $('#txtEmail,#txtPass'); 
btns.on('keyup', function(e){ 
    if (e.which === 13) { 
     return true; 
    } 
    else { 
     alert($(this).val()); 
     return false; 
    } 

}); 
+0

这与OP自己的代码完全相同,只是更优雅一点。 – 2014-09-26 11:19:58

+1

不需要检查我猜测的事件类型,因为我们只绑定了keyup事件。 – 2014-09-26 11:20:55

+0

是的你是对的,我现在正在考虑问题,以找出他真正想要的:)编辑答案:) – 2014-09-26 11:24:08