【发布时间】:2018-04-06 21:50:43
【问题描述】:
我有 2 个 .NET 网页,它们在两个页面中都有相同的弹出框。两个页面中的 JavaScript 完全相同,我将代码从可以工作的页面复制到另一个页面,但它不起作用。那个不工作的给我错误信息:
Scripts/jquery-3.3.1.js
0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'dialog'.
我尝试将代码放在页面末尾,没有区别。当我与 IE 开发人员一起检查页面时,我可以告诉 jquery 正在加载到页眉中的页面中。希望有人能指出我正确的方向。
<link href="Content/themes/base/jquery-ui.css" rel="stylesheet" />
<link href ="~/Styles/Default.css" rel="stylesheet" />
<script src="../Scripts/jquery-3.3.1.js"></script>
<script src="../Scripts/jquery-ui-1.12.1.js"></script>
<script>
$(document).ready(function() {
$("#dd2875").dialog({
buttons: {
"Cancel": function() {
$("#dd2875").dialog('close');
}
},
dialogClass: 'myTitleClass',
draggable: false,
width: 800,
height: 400,
hide: 2000,
show: 'slidedown',
hide: 'explode',
autoOpen: false
});
$("#btnNewAccount").click(function(evt) {
evt.preventDefault();
$("#dd2875").dialog('open');
});
});
</script>
【问题讨论】:
-
您的元素
#dd2875是否可能不在页面上? -
同意@stackoverfloweth。如果您没有带有
id=dd2875的元素,则脚本将没有可调用dialog()的对象。 -
是的,它在页面上,因为它在页面打开时显示在页面底部,我通过开发人员检查了它,它就在那里。我还注释了除 click 函数之外的所有代码,并放置了一个警告框,以确保 jquery 正常工作。
标签: javascript jquery asp.net jquery-ui-dialog