1. ホーム
  2. jquery

[解決済み] jquery ui Dialog: 初期化前のダイアログでメソッドを呼び出せない

2022-02-10 05:56:23

質問

jquery1.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'

以下は、そのコードです。

ジャバスクリプト

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>

なぜこのような現象が起こるのか、何か心当たりはありますか?

解決方法は?

代わりにこれを試してみてください

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

することもできます。

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

それは、ダイアログが $('#divDialog') によって返される新しい div に作成されます。 .dialog(opt) 関数を使用します。