Javascript knockoutJS、requireJS和jQueryUI Datepicker在一起玩得不好

Javascript knockoutJS、requireJS和jQueryUI Datepicker在一起玩得不好,javascript,jquery-ui,knockout.js,datepicker,requirejs,Javascript,Jquery Ui,Knockout.js,Datepicker,Requirejs,我正试图使用jquery ui Datepicker创建一个定制的knockoutJS绑定,如下所示: 但是,在实现了requireJS之后,我就没有什么运气了,我尝试在本文档中的两个示例之后对其进行建模:(目前使用的是后面的示例) 没有错误,但是在选择日期选择器后,我的可观察日期不会被更新。下面是一个实时URL示例(请尝试左上角的“开始日期”输入): index.html: <input type="text" data-bind="datepicker:$root.startDa

我正试图使用jquery ui Datepicker创建一个定制的knockoutJS绑定,如下所示:

但是,在实现了requireJS之后,我就没有什么运气了,我尝试在本文档中的两个示例之后对其进行建模:(目前使用的是后面的示例)

没有错误,但是在选择日期选择器后,我的可观察日期不会被更新。下面是一个实时URL示例(请尝试左上角的“开始日期”输入):

index.html:

<input type="text" data-bind="datepicker:$root.startDate" />


如果你有任何想法,我真的需要一些帮助,提前谢谢你

我最好的猜测是jQuery在淘汰之前没有被加载。如果jQuery在KO最初加载时可用,那么Knockout将使用它进行事件绑定。如果其他库正在使用jQuery触发事件,但KO没有使用jQuery绑定到事件,则不会执行处理程序

因此,您需要确保首先加载jQuery。如果必须,您可以将其添加到配置中:

 shim: {
        'knockout': {
            deps: [ 'jquery'],
        }
 }

谢谢Niemeyer,不过jQuery肯定已经加载了。我检查了一遍又一遍,很遗憾这不是问题所在/我仍然相信这是你的问题。我在你的实时站点上设置了一个断点并进行了确认。正如我提到的,您可以使用shim config()。否则,您可以对绑定稍加调整,使用jQuery来收听事件,如:您的jQuery事件建议非常有效,谢谢您,先生!
 shim: {
        'knockout': {
            deps: [ 'jquery'],
        }
 }