我正在使用JQuery和JQuery UI进行开发,实际上我使用的是datepicker小部件。我需要更改语言,然后为它下载语言库(它是意大利语):
jQuery(function($){
$.datepicker.regional['it'] = {
/* ... */
};
$.datepicker.setDefaults($.datepicker.regional['it']);
});
在我的代码中,我以这种方式使用它:
$(function () {
$("#TextBoxStartDate").datepicker();
$("#TextBoxEndDate").datepicker();
});
这样我就出现了这样的错误:
Object [object Object] has no method 'datepicker'
我尝试使用相同形式的库来加载datepickers:
jQuery(function($){
$("#TextBoxStartDate").datepicker();
$("#TextBoxEndDate").datepicker();
});
它有效!但我不明白为什么。任何人都可以向我解释一下吗?
更新:我的问题是两个jQuery实例之间的冲突。它被加载了两次,因为我在ASP.NET应用程序中将其作为脚本管理器插入(我需要它继续使用ASP.NET Web窗体的客户端控制)。
ASP.NET在视图状态下将其加载到正文中,然后将其加载到头部,因此它们会自行折叠。我将jquery-ui和其他使用jquery的脚本移动到正文中,它解决了问题。
只有一件事情无法解释:如果我使用jQuery(function($) {
,为什么会有效?!?!