如何使用jquery为具有特定属性的所有元素附加事件?

时间:2013-01-25 10:29:34

标签: javascript jquery events

我的页面中包含动态输入文字,其中包含属性clientid=1clientid=2等。

是否可以将包含此clientid的任何文本框的按键事件关联起来?如何?

请注意: 并非所有文本框都具有属性,这意味着它们不应具有按键

4 个答案:

答案 0 :(得分:0)

试试这个

$(':input[clientid]').on('keypress',function(){});

答案 1 :(得分:0)

您可以使用属性选择器来匹配文本框:

$('input[type="text"][clientid]')

另外,将自定义属性重命名为data-clientid

答案 2 :(得分:0)

是的,您可以将has-attribute selector.on()一起用于事件委派:

$(document).on('keypress', 'input[type="text"][clientid]', function(e) {
    // your code here
});

事件委托将对页面加载后添加的元素(以及代码已执行)作出反应。理想情况下,您不是使用document,而是为页面加载时确实存在的元素指定一个选择器,它将始终存在,并且将包含您想要对{{1}做出反应的所有元素事件。

答案 3 :(得分:-1)

是。您可以使用:

$(document).on('keypress', 'input[clientid]', function(e) {
    ...
});

或更具体的定位:

$(document).on('keypress', 'input[clientid="1"]', function(e) {
    ...
});
相关问题