【发布时间】:2018-01-03 12:48:15
【问题描述】:
我们最近将 jQuery 从版本 2.2.4 升级到 3.1.1,现在看到了一些有趣的错误。我安装了jquery-migrate 插件,它帮助我解决了一些错误,但不是全部。以下是我在 Chrome 的开发人员控制台中看到的错误,我似乎无法确定发生此错误的位置。
jquery-ui-1.12.1.js:1951 Uncaught TypeError: Cannot read property 'step' of undefined
at String.<anonymous> (jquery-ui-1.12.1.js:1951)
at each (jquery-3.1.1.slim.js:368)
at Function.color.hook (jquery-ui-1.12.1.js:1913)
at jquery-ui-1.12.1.js:1963
at jquery-ui-1.12.1.js:2005
at jquery-ui-1.12.1.js:14
at jquery-ui-1.12.1.js:16
我在 Chrome 中进行了调试,它在名为 jQuery.fx.step[ hook ] 的函数内部中断。当我将鼠标悬停在jQuery.fx 上时,它显示为未定义。见下文
jQuery.fx.step[ hook ] = function( fx ) {
if ( !fx.colorInit ) {
fx.start = color( fx.elem, hook );
fx.end = color( fx.end );
fx.colorInit = true;
}
我已经卸载了jquery-ui,但所做的只是破坏了 Angular。如果有人能对此事有所了解,我会很高兴。
packages.config =
<package id="Angular.Material" version="1.1.4" targetFramework="net462" />
<package id="Angular.UI.Bootstrap" version="2.5.0" targetFramework="net462" />
<package id="angular-file-upload" version="12.2.13" targetFramework="net462" />
<package id="AngularJS.Animate" version="1.6.5" targetFramework="net462" />
<package id="AngularJS.Aria" version="1.6.5" targetFramework="net462" />
<package id="AngularJS.Core" version="1.6.5" targetFramework="net462" />
<package id="AngularJS.Messages" version="1.6.5" targetFramework="net462" />
<package id="AngularJS.Resource" version="1.6.5" targetFramework="net462" />
<package id="AngularJS.Route" version="1.6.5" targetFramework="net462" />
<package id="AngularJS.Sanitize" version="1.6.5" targetFramework="net462" />
<package id="Antlr" version="3.5.0.2" targetFramework="net462" />
<package id="Bootbox.JS" version="4.4.0" targetFramework="net462" />
<package id="bootstrap" version="3.3.7" targetFramework="net462" />
<package id="CommonServiceLocator" version="1.3" targetFramework="net462" />
<package id="EntityFramework" version="6.1.3" targetFramework="net462" />
<package id="font-awesome" version="4.7.0" targetFramework="net462" />
<package id="HubSpot.Tether" version="1.1.1" targetFramework="net462" />
<package id="jQuery" version="3.1.1" targetFramework="net462" />
<package id="jQuery.UI.Combined" version="1.12.1" targetFramework="net462" />
<package id="lodash" version="4.17.4" targetFramework="net462" />
【问题讨论】:
-
你试过使用 jQuery 2x 或 1x 版本,而不是 3X 吗?
-
我们选择升级到 jQuery 3X。升级后抛出此错误。
-
不是我问的。可能是您的 jquery ui 版本不能很好地与 3X 配合使用。
-
它在 jQuery 2X 中运行,但我们决定升级到 jQuery 3X。
标签: jquery angularjs jquery-ui