将jquery事件绑定到jquery对象数组

And*_*eeC 3 jquery jquery-events

我有一个包含jquery对象的数组,稍后会在代码的各个部分中引用它们.我将它们放入一个数组中,这样它们只被选中一次,而不是每次我需要访问时都选择jquery.

我的问题是,如何将jquery事件绑定到这些jquery对象的数组?

我曾经对元素的ID进行jquery选择,然后绑定事件:

$('#name, #domain, #description').bind("blur change", 
function () { 
    callEventHandler(this); 
});
Run Code Online (Sandbox Code Playgroud)

现在我有了这个jQuery对象数组.如何将这些绑定到jquery事件?

var jqObjs = [$('#name'), $('#domain'), $('#description')];      
Run Code Online (Sandbox Code Playgroud)

我试过这样做,但它不起作用:

$(jqObjs).bind("blur change", 
function () { 
    callEventHandler(this); 
});
Run Code Online (Sandbox Code Playgroud)

cha*_*tfl 6

可以循环遍历它们:

$(jqObjs).each(function(_, jQobj){
    jQobj.on("blur change",function () { 
       callEventHandler(this); 
    });
});
Run Code Online (Sandbox Code Playgroud)

由于内部bind()使用on()我转而使用on().

另一种方法是存储选择器

var jqSelectors = ['#name', '#domain', '#description'];
$(jqObjs.join()).on('...
Run Code Online (Sandbox Code Playgroud)

我认为这有助于理解你是如何创建这个数组的.根据使用情况和您要完成的任务,可能还有其他方法