输入时未触发Jquery按键事件

时间:2012-10-22 12:09:54

标签: javascript jquery html html5

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

如果按下输入按钮,则不会调用按键事件。

5 个答案:

答案 0 :(得分:3)

尝试使用keyUp事件。

<强> Live Demo

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

这也适用于按键

<强> Live Demo

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

    if (e.keyCode == 13) {
        //signIn();
        alert("keypress");
    }
});​

答案 1 :(得分:2)

按键更合适:

$("#username,#password").keydown(function(e){
        if(e.keyCode == 13)
        {
            signIn();
        }
});    

答案 2 :(得分:0)

  1. 使用e.which代替e.keyCode,因为这是jQuery保证的事件
  2. 尝试e.preventDefault(),因为没有它(如果它们在表单中),表单提交
  3. 也许最好听的是表格的submit活动

答案 3 :(得分:0)

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

答案 4 :(得分:0)

使用按键和声明:

$("#username,#password").keypress(function(e) {
    if (e.which == 13) {
        //call here your function
    }
});