cor*_*.io 96 jquery dialog jquery-ui-dialog
我有一个关于jquery 1.5的应用程序,对话框工作正常.虽然我有很多.live处理程序,但我将其更改为.on.为此,我必须更新jquery(现在1.8.3 jquerui 1.9.1).
现在,我得到了: Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
以下是代码:
使用Javascript
var opt = {
autoOpen: false,
modal: true,
width: 550,
height:650,
title: 'Details'
};
$(document).ready(function() {
$("#divDialog").dialog(opt);
$("#divDialog").dialog("open");
...
Run Code Online (Sandbox Code Playgroud)
HTML代码
<div id="divDialog">
<div id="divInDialog"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
Kne*_*ZOD 129
试试这个
$(document).ready(function() {
$("#divDialog").dialog(opt).dialog("open");
});
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
var theDialog = $("#divDialog").dialog(opt);
theDialog.dialog("open");
Run Code Online (Sandbox Code Playgroud)
这是因为对话框没有存储在$('#divDialog'),而是存储在动态创建并由.dialog(opt)函数返回的新div中.
Cym*_*men 22
如果你无法升级jQuery而且你得到:
Uncaught Error: cannot call methods on dialog prior to initialization; attempted to call method 'close'
Run Code Online (Sandbox Code Playgroud)
你可以像这样解决它:
$(selector).closest('.ui-dialog-content').dialog('close');
Run Code Online (Sandbox Code Playgroud)
或者,如果您控制视图并且不知道整个页面上根本不应该使用其他对话框,则可以执行以下操作:
$('.ui-dialog-content').dialog('close');
Run Code Online (Sandbox Code Playgroud)
如果使用closest导致性能问题,我只建议这样做.如果不对所有对话框进行全局关闭,可能还有其他方法可以解决这个问题.
当我只更新jquery库而没有并行更新jqueryui库时,我遇到了这个错误.我正在使用jquery 1.8.3和jqueryui 1.9.0.但是,当我将jquery 1.8.3更新为1.9.1时,我得到了上述错误.当我注释掉有问题的.close方法行时,它会抛出一个错误.browser,即在jquery 1.8.3中弃用并从jquery 1.9.1中删除的jquery库中找不到.所以基本上,jquery 1.9.1库与jquery ui 1.9.0库不兼容,尽管jquery ui下载页面说它适用于jquery 1.6+.基本上,当尝试使用两者的不同版本时,存在未报告的错误.如果你使用与jqueryui下载捆绑在一起的jquery版本,我相信你会没事的,但是当你开始使用不同的版本时,你会走出这条路,并得到这样的错误.所以,总而言之,这个错误来自错误匹配的版本(无论如何我都是这样).
新的 jQuery UI 版本不允许您在未初始化的对话框上调用 UI 方法。作为解决方法,您可以使用以下检查来查看对话框是否处于活动状态。
if (modalDialogObj.hasClass('ui-dialog-content')) {
// call UI methods like modalDialogObj.dialog('isOpen')
} else {
// it is not initialized yet
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
186899 次 |
| 最近记录: |