如何将两个或多个jquery keydown函数组合到一个函数中?

时间:2013-03-03 22:38:03

标签: jquery html

我的目标:

通过将其作为一个功能来清理多个keydown函数,从而导致相同的按钮按下。

我的问题:

我做了很多这样的功能:

$("#username").keydown(function(event){
    if(event.keyCode == 13) {
        $('#loginbtn').click();
    };
});
$("#password").keydown(function(event){
    if(event.keyCode == 13) {
        $('#loginbtn').click();
    };
});

触发按钮点击按钮。它太乱了,使用了很多行。我想将这些线组合成一个函数。我的注册表格也有很多盒子。

我尝试了什么?

1 我尝试了下面的代码以及其他不起作用的代码:

$("#username","#password").keydown(function(event){
    if(event.keyCode == 13) {
        $('#loginbtn').click();
    };
});

2 我的另一个想法是使用课程,我只是不知道这是否被认为是“正确”的方式,所以我需要意见:

$(".logintextbox").keydown(function(event){
    if(event.keyCode == 13) {
        $('#loginbtn').click();
    };
});

然后我还要在我的html中添加该类,以便所有登录文本框和所有注册文本框都有唯一的类“分组”它们。

我的问题/ tl;博士:

如何使用多个id或一个类将2个或更多jquery keydown函数组合成一个函数?

2 个答案:

答案 0 :(得分:3)

我建议您从表单委派代替个别元素。

$("#your_form_id").on('keydown', 'input', function(event){
    if(event.keyCode == 13) {
        $('#loginbtn').click();
    };
});

这将捕获表单中所有输入上按下的键。

答案 1 :(得分:2)

选择多个元素。 $('#username, #password')$的第二个参数是上下文。