我只是NuGet将我的jquery从1.8.3更新到3.1.1。然后我不断在每个页面上收到此错误。环顾四周后,似乎jquery多次执行,但在我查看开发人员工具时似乎并非如此。
所以,这就是它发生的地方。
jQuery.Deferred.exceptionHook = function( error, stack ) {
// Support: IE 8 - 9 only
// Console exists when dev tools are open, which can happen at any time
if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
}
};
jQuery.readyException = function( error ) {
window.setTimeout( function() {
throw error;
} );
};
在线“window.console.warn ....”它有警告 - jQuery.Deferred异常:a(...)。parents(...)。andSelf不是函数
并且错误被抛出“抛出的错误” - 未捕获的TypeError:a(...)。parents(...)。andSelf不是函数
知道为什么会这样吗?
jQuery在1.8版本中弃用了andSelf
并在版本3.0.0中删除了它,这就是为什么它在3.1.1中“不是一个函数”。
您应该使用$.fn.addBack
,但是您发布的代码是处理错误的jQuery的一部分,这不是问题,在您的代码中的某处有一段代码,其中说a(...).parents(...).andSelf()
应该更改为a(...).parents(...).addBack()
。