web-dev-qa-db-fra.com

interface utilisateur jQuery - Erreur: impossible d'appeler des méthodes dans la boîte de dialogue avant l'initialisation; a tenté d'appeler la méthode 'open'

[Résolu] J'écris ce script. Malheureusement, la console jQuery jette:

Erreur: impossible d'appeler des méthodes dans la boîte de dialogue avant l'initialisation; a tenté d'appeler la méthode 'open'

J'utilise jQuery 1.10.2 et 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;
    }
    });
});

Dialogue en HTML:

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

Vous devez initialiser la boîte de dialogue avant de pouvoir l'ouvrir:

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

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

Voici un exemple complet: https://jqueryui.com/dialog/#animated

18
dominikus

Configurez-le d'abord:

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

Essayez vous-même: http://jsfiddle.net/x5w8r/

5
chuckfinley

Vous appelez la méthode open avant que le widget de dialogue n'ait été initialisé pour plus d'informations, cliquez ici: https://api.jqueryui.com/dialog/

0
Nate