我刚刚将我的 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 不是函数
并且错误在“抛出错误”行上抛出 -
未捕获的类型错误:a(...).parents(...).andSelf 不是函数
知道为什么会发生这种情况吗?
jQuery 已弃用andSelf
在 1.8 版本中,并在 3.0.0 版本中删除了它,这就是为什么它在 3.1.1 中“不是一个函数”。
你应该使用$.fn.addBack https://api.jquery.com/addBack/相反,但是您发布的代码是 jQuery 处理错误的部分,这不是问题,在your代码中有一段代码说a(...).parents(...).andSelf()
应该改为a(...).parents(...).addBack()
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)