JQuery UI日期选择器扩展函数

JQuery UI日期选择器扩展函数,jquery,jquery-ui,datepicker,Jquery,Jquery Ui,Datepicker,我希望能够向现有jquery类添加自定义函数,类似于C#(特别是datepicker)中的扩展方法 我可以通过声明以下内容获得此工作的静态版本: // declaration $.ui.datepicker.hello = function () { alert('heya'); }; // caller $.ui.datepicker.hello(); $("#date").datepicker.hello(); // Or $("#date").datepicker("hello

我希望能够向现有jquery类添加自定义函数,类似于C#(特别是datepicker)中的扩展方法

我可以通过声明以下内容获得此工作的静态版本:

// declaration
$.ui.datepicker.hello = function () {
    alert('heya');
};

// caller
$.ui.datepicker.hello();
$("#date").datepicker.hello();
// Or
$("#date").datepicker("hello")
然而,由于我实际上关心的是datepicker的具体实例,我很可能会声明一个函数,这样我就可以执行如下操作:

// declaration
$.ui.datepicker.hello = function () {
    alert('heya');
};

// caller
$.ui.datepicker.hello();
$("#date").datepicker.hello();
// Or
$("#date").datepicker("hello")
我尝试了各种方法,包括使用和中的答案,但当我尝试接受的解决方案时,从jquery-ui.min.js收到控制台错误,声明“Object不支持此操作”

$.widget("ui.datepicker", $.ui.datepicker,{
    hello: function () {
        alert('yes');
    }
});

我想做的是可能的吗?或者只是缺少我的执行?

您的第二个代码片段表明您想用您自己的变异版本覆盖现有的
jQuery.fn.datepicker
,该版本在参数值'hello'@Taplar中也会接受,我试图复制如何调用内置的datepicker方法(例如$(“#date”).datepicker(“getDate”);我想主要的事情是,我希望在特定实例上调用自定义方法,而不管it@IanSoc经过一些研究,
$.ui.datepicker
与其他小部件不同。研究如何最好地使用它需要一些时间,因为进行变异会导致
类型错误:base不是构造函数如果你看一下
$.ui.datepicker
你会发现它有一个索引:
version
,而不是预期的。说:你不能扩展,因为datepicker不使用小部件工厂,因此你不能用它来扩展它,但你可以重写方法并注入代码。@Twisty有趣的是……我看到了这个问题,但我我错过了你所引用的答案。我会仔细看看答案,看看我是否找到了答案。谢谢你的第二个代码片段表明你想用你自己的变异版本覆盖现有的
jQuery.fn.datepicker
,该版本在参数值'hello'@Taplar中也可以接受复制如何调用内置的datepicker方法(例如$(“#日期”)。datepicker(“getDate”);我想主要的事情是,我希望在特定实例上调用自定义方法,而不管it@IanSoc经过一些研究,
$.ui.datepicker
与其他小部件不同。研究如何最好地使用它需要一些时间,因为进行变异会导致
类型错误:base不是构造函数如果你看一下
$.ui.datepicker
你会发现它有一个索引:
version
,而不是预期的。说:你不能扩展,因为datepicker不使用小部件工厂,因此你不能用它来扩展它,但你可以重写方法并注入代码。@Twisty有趣的是……我看到了这个问题,但我我错过了你引用的答案。我会仔细看看答案,看看我是否能找到答案。谢谢