为什么我的JQuery插件导致无法读取未定义的属性“长度”?

时间:2013-09-09 13:59:02

标签: javascript jquery jquery-ui asp.net-webpages

我有点心疼,要求另一个无法读取未定义问题的属性“长度”,但没有任何在线(SE或其他)答案与我手头的问题有任何关系。

我已尽力缩小为什么我的情况会发生此脚本错误,但我不知所措。

如果我在页面中排除此标记,则错误将停止显示:

<script src="~/Plugins/jquery-ui-1.10.3.drag-drop.min.js" type="text/javascript"></script>

jquery-ui-1.10.3.drag-drop.min.js文件的所有内容都是我重命名的jquery-custom文件,其中包括jquery draggable,droppable和sortable。

我确信这个错误是由我编写的一些脚本引起的,但是当我刚刚开始测试时,我没有太多的脚本来'评论',当我这样做时,它,到我的困惑,没有摆脱错误。到目前为止我找到的唯一方法就是完全排除插件,如果我这样做,我显然无法使用它。

Chrome调试器中显示的完整错误:

Uncaught TypeError: Cannot read property 'length' of undefined      jquery-1.9.1.min.js:3
b.extend.each                                                       jquery-1.9.1.min.js:3
e.widget                                                            jquery-ui-1.10.3.drag-drop.min.js:6
(anonymous function)                                                jquery-ui-1.10.3.drag-drop.min.js:6
(anonymous function)                                                jquery-ui-1.10.3.drag-drop.min.js:6

问题是(就像大多数这样的错误一样)我无法追查导致错误的原因,即使没有编写任何代码甚至还没有使用这个插件。

我正在使用jquery-1.9.1.min.jsjquery-migrate-1.2.1.min.js个文件。

事实是,我可以忽略这个错误,因为它并没有真正破坏任何东西,并且拖放,丢弃和可排序的功能似乎都能正常工作并且符合预期。我只是认为在你的页面中出现脚本错误很难看,而且我过去从未容忍过它们,所以我现在并不想开始容忍它们。

我是在叫错树吗?错误是否指向我的拖放文件?我该怎么做才能帮助缩小此错误?

如果我能提供更多可以提供帮助的信息,请告诉我。

AS REQUESTED - <script>代码中显示的<head>代码:

<script src="~/Resources/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="~/Resources/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
<script src="~/Plugins/jquery.maskedinput.min.js" type="text/javascript"></script>
<script src="~/Plugins/jquery-ui.min.js" type="text/javascript"></script>
<script src="~/Plugins/accounting.min.js" type="text/javascript"></script>
<script src="~/Plugins/jquery.autoellipsis-1.0.10.min.js" type="text/javascript"></script>
<script src="~/Plugins/jquery-ui-1.10.3.drag-drop.min.js" type="text/javascript"></script>
<script src="~/Scripts/PluginConfigurations.js" type="text/javascript"></script>
<script src="~/Scripts/main.js" type="text/javascript"></script>
<script src="~/Scripts/EditPages.js" type="text/javascript"></script>

2 个答案:

答案 0 :(得分:17)

正如@Pete帮助您识别,确实是由于复制了您的jQuery UI核心脚本。加载一次,你的“Undefined”问题将会消失。

答案 1 :(得分:0)

正如@Pete帮助您识别,确实是由于复制了您的jQuery UI核心脚本。加载一次,你的“Undefined”问题将会消失。

包含以下文件两次,会导致此问题。

jquery.ui.core.min.js

确保您只包含一次。