无法在初始化之前调用对话框上的方法

无法在初始化之前调用对话框上的方法

本文介绍了jquery ui Dialog:无法在初始化之前调用对话框上的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 jquery 1.5 上有一个应用程序,对话框运行良好.虽然我有很多 .live 处理程序,但我将其更改为 .on.为此,我必须更新 jquery(现在是 1.8.3 和 jquerui 1.9.1).

I have an app on jquery 1.5 with dialogs worked fine.While I have a lot of .live handlers, I changed this to .on.For that, I have to update jquery (now 1.8.3 an jquerui 1.9.1).

现在,我得到:错误:在初始化之前无法调用对话框上的方法;试图调用方法'close'

以下是代码:

Javascript

var opt = {
        autoOpen: false,
        modal: true,
        width: 550,
        height:650,
        title: 'Details'
};

$(document).ready(function() {
$("#divDialog").dialog(opt);
    $("#divDialog").dialog("open");
...

html代码

<div id="divDialog">
<div id="divInDialog"></div>
</div>

知道为什么会发生这种情况吗?

Any idea why this might be happening?

推荐答案

试试这个

$(document).ready(function() {
  $("#divDialog").dialog(opt).dialog("open");
});

你也可以这样做:

var theDialog = $("#divDialog").dialog(opt);
theDialog.dialog("open");

这是因为对话框没有存储在 $('#divDialog') 中,而是存储在动态创建并由 .dialog(opt) 函数.

That's because the dialog is not stored in $('#divDialog'), but on a new div that is created on the fly and returned by the .dialog(opt) function.

这篇关于jquery ui Dialog:无法在初始化之前调用对话框上的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-30 12:47