7
votes

Boîte de dialogue JQuery UI: Comment fermer la boîte de dialogue lorsque vous cliquez à l'extérieur?

dans docs Je n'ai pas vu de telles informations.

Il existe des options pour fermer la boîte de dialogue dans de tels cas:

1) Poussez Echap;

2) Cliquez sur les boutons "OK" ou "Fermer" dans la boîte de dialogue.

Mais comment fermer la boîte de dialogue si cliquez à l'extérieur?

Merci!


3 commentaires

En termes de convivialité, c'est à mon avis un comportement étrange de fermer une boîte de dialogue lorsque vous cliquez à l'extérieur si la boîte de dialogue n'est pas modale. Quoi qu'il en soit, voici un Solution < / a>.


Peut être [ceci] [1] ou [ceci] [2] vous aidera. [1]: Stackoverflow.com/questions/8302114/... [2]: Stackoverflow.com/Questtions/7919229/...


Dupliqué possible de JQUERY UI - Boîte de dialogue Fermer lorsque vous avez cliqué à l'extérieur


5 Réponses :


7
votes

J'ai trouvé une solution sur ryanjeffords.com :

<script type="text/javascript">

    $(document).ready(function() {

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

        $('.ui-widget-overlay').live("click",function(){
            $("#dialog").dialog("close");
        });    
    });   
</script>


1 commentaires

Dommage ... je vais essayer de trouver une autre solution



7
votes

Voici 2 autres solutions pour des dialogues non modales:

Si la boîte de dialogue est la méthode non modale 1: Méthode 1: http://jsfiddle.net/jasonday/xpkff/ xxx

Méthode de dialogue non modale 2: http://jsfiddle.net/jasonday/ecckr/ XXX


0 commentaires

1
votes

Face au même problème, j'ai créé un petit plug-in qui permet de fermer une boîte de dialogue lors de la clic sur l'extérieur, qu'il s'agisse d'une boîte de dialogue modale ou non modale. Il prend en charge une ou plusieurs dialogues sur la même page.

Plus d'informations sur mon site Web ici: HTTP : //www.coheractio.com/blog/clusing-jquery-ui-dialog-widget-Quant-Clicking-Side

Le plugin est également sur github: https://github.com/coheractio/jQuery -UI-Dialog-ClickOutSide

laurent


0 commentaires

0
votes

Ceci est ma solution.

J'ai, par exemple xxx

chaque div est ouvert sous forme de boîte de dialogue en fonction de ce que l'utilisateur interagit avec. Donc, être capable de fermer l'un actif actuellement, je le fais. xxx


0 commentaires

5
votes

Si la boîte de dialogue est modale, puis collez ces 3 lignes de code dans la fonction Ouvrir code> lorsque vous créez vos options de dialogue:

open: function(event,ui) {
    $('.ui-widget-overlay').bind('click', function(event,ui) {         
        $('#myModal').dialog('close');
    });
}


0 commentaires