【问题标题】:runtime error: Object doesn't support property or method运行时错误:对象不支持属性或方法
【发布时间】:2012-08-06 12:55:37
【问题描述】:

我需要在一个相当大的项目中使用 jQuery 创建一个对话框。在某些地方,这个项目使用 jquery 的版本与我在窗口中使用的最新版本不同。

我的代码如下所示:

在 ascx 页面上

<html>
<head>
  <link type="text/css" href="css/jquery-ui-1.8.22.custom.css" rel="stylesheet" />
  <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
  <script type="text/javascript" src="js/jquery-ui-1.8.22.custom.min.js"></script>
  <script type="text/javascript" src="js/myjQueryCode.js"></script>
</head>
<body>
</body>
</html>

在 myjQueryCode.js 文件中

$(document).ready(function() {
    $("#dialog-form").dialog({
        autoOpen: false,
        height: 440,
        width: 500,
        modal: true,
        closeOnEscape: false
    });
});

在运行时,我收到错误:

Microsoft JScript 运行时错误:对象不支持属性或 方法“对话”

【问题讨论】:

  • 您确定自定义 jQuery UI 文件包含对话框模块吗?如果包含完整的 UI 文件会怎样?
  • 您是否也在母版页和/或上下文页面中引用
  • 我看到 jQuery UI 是自定义版本,所以你是否包含了dialog?
  • Jonas G. Drange,是的,我确定。在单独的项目中,它运行良好。你能告诉我,我在哪里可以找到完整的 UI 文件?
  • KSaini, 仅在内容(ascx)页面中。

标签: javascript jquery asp.net jquery-ui


【解决方案1】:

感谢您的回答。问题是该库被多次包含在不同的文件中。

【讨论】:

    【解决方案2】:

    对话框方法来自 jQuery UI 库。看起来您正在使用自定义版本的 jQuery UI,可能不包括对话框。

    您可以在此处自定义要包含在 jQuery UI 中的模块:http://jqueryui.com/download

    【讨论】:

    • 当我在单独的 asp.net 项目中使用此代码时,它运行良好。
    • 其他项目是否使用相同的 jquery-ui-1.8.custom.min.js 文件?
    • 您可以在答案中的链接处下载完整的 jQuery UI 库,或者 Google 可以为您托管它:
    • 是的,其他项目中的文件完全一样。谢谢你的链接,但是当我包含它时,结果是同样的错误。
    • 会不会是 jQuery 文件中的某种冲突?
    【解决方案3】:

    查看页面的 HTML 以查看页面中是否存在对其他版本 jquery 的脚本引用。如果在正确版本之后加载旧版本,则无效方法将引发异常。

    【讨论】:

      【解决方案4】:

      如果以上都失败了,试试:

      检查您安装的包 - 我通过安装 Nuget 包解决了这个问题:JQuery.Draggable - 请参阅:http://www.nuget.org/packages/jQuery.UI.Interactions.Draggable/

      【讨论】:

        猜你喜欢
        • 2021-07-04
        • 2015-11-11
        • 2014-03-21
        • 2023-03-30
        • 2015-10-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多