如何为表单的所有输入绑定事件?

sky*_*ind 7 forms jquery input

我有一个带输入的表单(带有id).我需要绑定一个事件来点击此表单中的任何输入.

现在,我使用这种结构:

    $("#siteAdress").click(function(){
        $("#reg-login").click();
    });
    $("#phoneNumber").click(function(){
        $("#reg-login").click();
    });
    $("#reg-email").click(function(){
        $("#reg-login").click();
    });
    $("#reg-login").click(function(){
        // DO SOMETHING
    });
Run Code Online (Sandbox Code Playgroud)

如何优化呢?

zne*_*eak 16

最简单的方法可能是为需要绑定的所有元素添加一个类,并使用它:

$(".event-user").click(function() { /* do something */ })
Run Code Online (Sandbox Code Playgroud)

如果这不是一个选项,您可以使用id表单,并查询其所有输入子项:

$("#my-form input[type=text]").click(function() { /* do something */ })
Run Code Online (Sandbox Code Playgroud)

如果两者都不可能,您可以始终使用以逗号分隔的选择器列表:

$("#siteAddress, #phoneNumber, #reg-email, #reg-login")
    .click(function() { /* do something */})
Run Code Online (Sandbox Code Playgroud)