对象不支持属性或方法“对话框”
Posted
技术标签:
【中文标题】对象不支持属性或方法“对话框”【英文标题】:Object doesn't support property or method 'dialog' 【发布时间】:2017-08-21 05:53:26 【问题描述】:我正在尝试通过在我的应用程序中使用 jquery 来实现模式对话框。一旦我点击一个按钮,它应该通过弹出一个模式对话框来显示一个网页(url)来工作。但我不断收到 javascript 运行时错误:
对象不支持
$("#dialog").dialog("open")
行中的属性或方法“对话框”错误。
我已经在我的应用程序中包含了这些 jquery 脚本。我正在使用 jquery-ui-1.12.1.zip 中的脚本。 这是我的代码供您参考。
<script src="Scripts/jquery.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui.js" type="text/javascript"></script>
<script>
$(document).ready(function ()
$("#btnProdHierarchy").click( function()
$("#dialog").load(PMASTERLINK, function()
$("#dialog").dialog("open");
return false;
)
)
);
</script>
<div id="dialog" title="Basic dialog"></div>
<input id="btnProdHierarchy" type="button" value="Product Master" accesskey="H" />
请帮我解决这个问题。谢谢!
【问题讨论】:
你为什么两次附加jquery-ui
??
【参考方案1】:
这对我有用:
<script src="https://code.jquery.com/jquery-3.2.1.min.js" type="text/javascript"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js" type="text/javascript"></script>
<script>
$(document).ready(function ()
$("#btnProdHierarchy").click( function()
$("#dialog").load(PMASTERLINK, function()
$("#dialog").dialog().dialog("open");
return false;
)
)
);
</script>
<div id="dialog" title="Basic dialog"></div>
<input id="btnProdHierarchy" type="button" value="Product Master" accesskey="H" />
很明显,我用别的东西替换了PMASTERLINK
。
【讨论】:
【参考方案2】:您的对话框加载错误。尝试先阅读 jquery-ui 文档。在您的代码中“PMASTERLINK”也是未定义的!
对话框应该定义如下:
$( "#dialog" ).dialog(
autoOpen: false,
);
你的按钮应该是这样的:
$( "#dialogBtn" ).on( "click", function()
$( "#dialog" ).dialog( "open" );
);
就是这样!
html:
<div id="dialog" title="Basic dialog">
<p>Your Dialog Text</p>
</div>
<button id="dialogBtn">Open Dialog</button>
例如:https://jsfiddle.net/emilvr/ebgkmw79/1/
【讨论】:
以上是关于对象不支持属性或方法“对话框”的主要内容,如果未能解决你的问题,请参考以下文章
IE 11 - 无法解决“对象不支持属性或方法'charCodeAt'”或“对象不支持属性或方法'readAsBinaryString'”