1
$("#username,#password").keypress(function(e)
    {
        //alert('');
        if(e.keyCode == 13)
        {
            signIn();
        }
    });

如果按下回车按钮,则不会调用 keypress 事件。

4

5 回答 5

3

尝试使用 keyUp 事件。

现场演示

$("#username,#password").keyup(function(e){
        //alert('');
        if(e.keyCode == 13)
        {
            signIn();
        }
});

这也适用于按键

现场演示

$("#txt1").keypress(function(e) {

    if (e.keyCode == 13) {
        //signIn();
        alert("keypress");
    }
});​
于 2012-10-22T12:10:56.017 回答
2

Key down 更合适:

$("#username,#password").keydown(function(e){
        if(e.keyCode == 13)
        {
            signIn();
        }
});    
于 2012-10-22T12:16:42.223 回答
0
  1. 使用e.which而不是e.keyCode因为这是 jQuery 保证的事件
  2. 尝试e.preventDefault(),因为没有它(如果它们在表单中),表单会提交
  3. 也许最好的方法是收听表单的submit事件
于 2012-10-22T12:15:09.120 回答
0

你确定不是signIn ();功能有问题?因为这似乎工作得很好;http://jsfiddle.net/vDkBs/1/

于 2012-10-22T12:15:12.880 回答
0

使用 keypress 和 which 语句:

$("#username,#password").keypress(function(e) {
    if (e.which == 13) {
        //call here your function
    }
});
于 2012-10-22T12:25:38.710 回答