1

ボタンでダイアログが閉じないのはなぜですか?

ここにコードとフィドルがありますhttp://jsfiddle.net/ThxjS/

$(function() {
    $( "<div id='dialogMy'><button>close</button>test</div>" ).dialog({

        resizable: false,
        height:140,
        modal: true

    });


          $("button").click(function(){

                 //why wont it close? 
                  //$('#dialogMy').close();
                  $('#dialogMy').destroy();

          });

});
4

4 に答える 4

5

destroy を間違って呼び出しています。次のように、ダイアログで呼び出す必要があります。

   $('#dialogMy').dialog('destroy');
于 2012-10-18T19:34:48.687 に答える
3

.destroyjQuery オブジェクトのメソッドではあり.closeません。

jQuery UI Dialog のメソッドがあります。

したがって、これを jQuery オブジェクトに渡そうとしても、認識されません。

これらの属性を .dialog() ウィジェットに渡す必要があります..

$('#dialogMy').dialog('destroy');
$('#dialogMy').dialog('close');
于 2012-10-18T19:40:14.590 に答える
3

あなたがしたい.dialog('close').destroy()は有効な方法ではありません。

他の誰もが言及しているように、呼び出すことで破棄できますが.dialog('dispose')、ダイアログはなくなり、後で再度参照することはできないことに注意してください。これが警告ポップアップなどである場合は、これが望ましい場合がありますが、モーダルを再利用する予定がある場合は、dialog('close').

于 2012-10-18T19:33:14.090 に答える
1

間違った機能を使用しています。あなたは言う必要があります:

jQuery('#dialogMy').dialog('close');

jQuery UIダイアログのドキュメントによると:

近い()

ダイアログを閉じます。

破壊する()

ダイアログ機能を完全に削除します。これにより、要素が初期化前の状態に戻ります。

于 2012-10-18T19:34:42.107 に答える