我正在开发一个包含许多 jQuery 和 jQuery UI 相关插件的 Wordpress 站点。一切似乎都运行良好,但是当我们将整个站点转移到新域名时,我开始在 Chrome 控制台中看到以下错误:
未捕获的类型错误:对象函数 (b,c,d){var e=b.split(".")[0],f;b=b.split(".")[1],f=e+"-" +b,d||(d=c,c=a.Widget),a.expr[":"][f]=function(c){return!!a.data(c,b)},a[ e]=a[e]||{},a[e][b]=function(a,b){arguments.length&&this._createWidget(a,b)};var g=new c;g.options=a .extend(!0,{},g.options),a[e][b].prototype=a.extend(!0,g,{namespace:e,widgetName:b,widgetEventPrefix:a[e][b ].prototype.widgetEventPrefix||b,widgetBaseClass:f},d),a.widget.bridge(b,a[e][b])} 没有方法“扩展”
这是 jQuery UI 1.9.3 中似乎导致此问题的行:
this.options = $.widget.extend( {},
this.options,
this._getCreateOptions(),
options );
无论我尝试做什么,我似乎都无法克服这一点。我正在使用正确的方法(或者我已经阅读过)通过使用 wp_enqueue_script() 并将 jquery 设置为 jquery-ui 的依赖项来添加脚本,并查看 HTML,jQuery 确实在 jQuery UI 之前加载。
如果有人对可能发生的事情有任何想法,我将不胜感激,这让我发疯了。