【发布时间】:2013-07-27 04:05:55
【问题描述】:
我正在尝试从旧版本升级到 JQuery 1.10。不幸的是,升级会导致以前工作的代码失败并出现此错误:
Microsoft JScript 运行时错误:对象不支持此属性或方法
不幸的是,消息并没有准确地告诉我是哪个方法或属性导致了这个错误。
例如,我在尝试调用对话框来显示时遇到此错误:
$('#RepSearchDialog').dialog({
autoOpen: true,
width: 1050,
height: 500,
resizable: false,
title: 'Rep Search',
modal: true,
open: function () {
ClearRepSearchCriteriaFields();
ClearRepSearchResults();
$('.ui-dialog-titlebar').hide();
$('#RepSearchStoreId').val($('#StoreId').val());
$('#RepSearchStoreId').focus();
$('input[name="RepSearchOption"]:checked').removeAttr('checked');
$('input[name="RepSearchOption"]')[4].checked = true;
window.RepSearchDialog_SearchForReps();
}
});
对我来说,哪个属性或方法调用导致对话框调用失败并不明显。如何获取有关导致此失败的确切属性或方法的信息?
这让升级变得非常非常痛苦。
【问题讨论】:
-
按 F12 并使用内置调试控制台获取行号。
-
Kevin,它只是将我指向我上面列出的代码行。然后它说,“Uncaught TypeError: Object [object Object] has no method 'dialog'” 嗯?那么为什么 .dialog() 不再起作用了呢?什么鬼?
-
某事干扰了
$("#RepSearchDialog")返回正确的 jQuery 对象。要么,要么你没有成功加载 jQuery UI(也许你也需要升级它)。 -
“我在上面列出的那行代码” 我看到了 19 行代码,没有一个……我错过了什么吗?更改为
$('#RepSearchDialog').dialog()会改变错误吗? -
@Barmar 我升级了 jquery.ui 但显然我没有正确完成它。我必须向 jquery.ui.dialog.js 添加一个引用。现在我得到另一个错误:对象函数 (e,t){return new x.fn.init(e,t,r)} has no method 'widget' jquery.ui.dialog.js:38.我已将 ref 添加到小部件但仍然错误。这很痛苦。
标签: javascript jquery asp.net-mvc-3