web-dev-qa-db-ja.com

jQuery UI-エラー:初期化前にダイアログでメソッドを呼び出すことはできません。メソッド「open」を呼び出そうとしました

[解決済み]このスクリプトを書きます。残念ながら、jQueryコンソールは以下をスローします。

エラー:初期化前にダイアログでメソッドを呼び出すことはできません。メソッド「open」を呼び出そうとしました

JQuery 1.10.2とjQuery UI 1.10.4を使用します。

 $(function() {
$("#player").on('click', 'img', function() {
    var zadanie = $( "input[name^='act']:checked:enabled" ).val();
    switch(zadanie){
        case '1':
        alert('fajowo jesteś uczciwy');
        break;
        case '2':
         $( "#dialog" ).dialog( "open" );
        break;
    }
    });
});

HTMLのダイアログ:

<div id="dialog" title="Wybór karty, która zostanie położona oficjalnie">
<p>Fajowy tekst.</p>
</div>
10
jaksa

ダイアログを開く前に、ダイアログを初期化する必要があります。

$(function() {
    $("#dialog").dialog({
        autoOpen: false
    });

    $("#player").on('click', 'img', function() {
    ...

完全な例は次のとおりです。 https://jqueryui.com/dialog/#animated

19
dominikus

最初に設定します:

$("#dialog").dialog();

自分で試してみてください: http://jsfiddle.net/x5w8r/

7
chuckfinley

詳細については、ダイアログウィジェットが初期化される前にopenメソッドを呼び出しています: https://api.jqueryui.com/dialog/

0
Nate