我有一个函数使用原型为我的对象,但现在需要进行异步调用来设置一些输入问题是我得到$$(...).asyncEach is not a function
这里是我的代码片段
Customers.prototype.AddDatePickers = function()
{
$j.fn.asyncEach = function(callback){
var i = 0;
var elements = this;
var timer = setInterval(function () {
callback.call(elements[i], elements[i]);
if(++i >= elements.length) clearInterval(timer);
}, 0);
}
$$('.dateInputs').asyncEach(function (input) {
$(this).kendoDatePicker();
});
}
我必须这样做的原因是因为有很多输入日期选择器需要创建,所以无响应的脚本消息显示。我试图避免这种情况,这是作为答案给出的,我的问题是我认为(我是jquery的新手)是它在原型函数中吗?通常当我需要使用$
时我必须在我的原型函数中使用$j
,这样就不会发生冲突。但是通过这个设置,我不确定如何使其工作。
答案 0 :(得分:1)
出于您所描述的目的,它可能会简单得多。以下应该做。
$('.dateInputs').each(function() {
var element = this;
setTimeout(function() {
$(element).kendoDatePicker();
}, 0);
});
注意:我使用标准的jquery表示法,您可以将其修改为无冲突版本。
此外,您的版本中还有一个错误,即使元素为空,也至少调用callback
一次。