无法获取未定义或空引用的属性“应用”-IE11 和 Chrome
Posted
技术标签:
【中文标题】无法获取未定义或空引用的属性“应用”-IE11 和 Chrome【英文标题】:Unable to get property 'apply' of undefined or null reference - IE11 and Chrome 【发布时间】:2014-10-31 13:26:54 【问题描述】:我是 Javascript 和 jQuery 的新手,无法修复此错误。
当我尝试在 IE11 和 chrome 中调试时出现此错误。最初我得到了
无法获取未定义或空引用的属性“调用”
在 jquery.validate.min.js 中为event.handle.call
我做了一些研究并通过更改为event.dispatch.call
来修复它。一旦我修复了这个错误并且找不到任何好的解决方案。
我正在使用 jQuery 1.10.* 并希望在调试 IE11 和 Chrome 时修复此错误。
任何建议都会非常有用。向我指出任何有用的资源或可能的解决方法。
编辑:
我在 jQuery-ui-1.10.3.js 的 function handlerProxy 中收到此错误
$.each( handlers, function( event, handler )
function handlerProxy()
// allow widgets to customize the disabled handling
// - disabled as an array instead of boolean
// - disabled class as method for disabling individual parts
if ( !suppressDisabledCheck &&
( instance.options.disabled === true ||
$( this ).hasClass( "ui-state-disabled" ) ) )
return;
return ( typeof handler === "string" ? instance[ handler ] : handler )
.apply( instance, arguments );
【问题讨论】:
在开发过程中,使用未缩小的文件 jquery.validate.js 而不是 jquery.validate.min.js 将帮助您找到错误。尝试使用浏览器的调试器。没有代码就无法提供更多帮助。 @Volune:请查看 EDIT,添加了我遇到错误的功能。 您发布的JS仅在$.each
循环范围内创建了一个handlerProxy
函数而不会触发它。而且每个人都缺少一个结束)
。也因为它是一个循环 handler
将始终引用最后一个,因此即使存在于 handlerProxy
中的变量也将始终具有最后一个 handler
的值
发布的 javascript 是 jquery.ui 的一部分。您的问题很少有可能来自图书馆内部。它可能来自您使用库的方式,这就是您需要在问题中显示的内容。也尝试中断错误并查看调用堆栈。
【参考方案1】:
您可能使用的是过期版本的 jquery.validate。为您的 jquery 版本获取最新版本,它应该可以工作。这就是我解决这个问题的方法。我正在使用 jquery 1.11 和 jquery.validate 1.10 并将 validate 更新到 1.11,它工作正常。
【讨论】:
以上是关于无法获取未定义或空引用的属性“应用”-IE11 和 Chrome的主要内容,如果未能解决你的问题,请参考以下文章
IE10 d3.v3.js 错误:无法获取未定义或空引用的属性“原型”
无法在 WCF Rest 中获取未定义或空引用的属性“appendChild”