Javascript JQuery解包参数数组

Javascript JQuery解包参数数组,javascript,jquery,typeahead.js,Javascript,Jquery,Typeahead.js,我在用打字机 详情如下: $('my_elements')。提前键入(选项、数据集1、数据集2等)。然而,数据集的数量是动态的,我将它们计算并存储在一个数组中(以及选项)。那么如何将数组作为参数列表传递呢?我尝试使用javascript应用函数: $('my_elements').each(function(){ typeahead.apply(this, params_array); }); 但是产生了一个错误:没有定义typeahead!那么如何对jquery selector的

我在用打字机 详情如下:

$('my_elements')。提前键入(选项、数据集1、数据集2等)
。然而,数据集的数量是动态的,我将它们计算并存储在一个数组中(以及选项)。那么如何将数组作为参数列表传递呢?我尝试使用javascript应用函数:

 $('my_elements').each(function(){
   typeahead.apply(this, params_array);
 });

但是产生了一个错误:没有定义typeahead!那么如何对jquery selector的结果使用apply函数呢?

当您尝试直接访问
typeahead
时,它会尝试在当前范围或祖先范围中查找具有该名称的引用

但是由于
typeahead
是一个插件,它是jQuery原型对象的一个属性,因此您需要通过
$.fn.typeahead
访问它

另一个需要注意的是
插件内部的
应该引用jQuery对象而不是dom元素

$('my_elements').each(function () {
    $.fn.typeahead.apply($(this), params_array);
});

$.fn.typeahead.apply($('my_elements'), params_array);