如何将事件添加到同一字段的多个字段中?

3

你好,我该如何在同一个表单中添加多个字段的事件?

在下面的代码中,我想要为userName字段添加keypress事件。

$("#existingUserForm :input[name='userPassword']").keypress(    
        function(e) {       
        if(e.which == 13) { 
            processLogin();
        }
    }); 
2个回答

4
$("#existingUserForm :input[name='userPassword'], #existingUserForm :input[name='userName'] ").keypress(    
     function(e) {       
        if(e.which == 13) { 
            processLogin();
        }
 });

请在文档中阅读关于多个选择器的信息。


2
您可以使用add()方法将元素添加到您的选择中:
$('#existingUserForm :input[name=userPassword]')
    .add('#existingUserForm :input[name=userName]')
    .keypress(function() { ...

您也可以在一个$()子句中使用逗号分隔多个选择器进行链接,但通常为了可读性更好,建议使用add()方法。

您也可以使用filter()

$('#existingUserForm input').filter(function() {
    var name = $(this).attr('name');
    return name == 'userPassword' || name == 'userName';
}).keypress(function() { ...

最简单的方法是给这些元素赋予相同的类名,然后您的选择器将简化为:
```css .className { /* styles */ } ```
请注意保留HTML标签。
$('#existingUserForm .checkField').keypress(function() {...

假设您的输入如下:

<input name="userName" class="checkField" />
<input name="userPassword" class="checkField" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接