我只是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不是函数
知道为什么会这样吗?
答案 0 :(得分:12)
jQuery在版本1.8中弃用andSelf
并在版本3.0.0中将其删除,这就是为什么它不是"不是函数"在3.1.1。
您应该使用$.fn.addBack
代替,但您发布的代码是处理错误的jQuery的一部分,这不是问题,在您的代码中的某处& #39;一段代码a(...).parents(...).andSelf()
,应该更改为a(...).parents(...).addBack()
。