IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Keydown Escape Popup


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti ingenieur administrateur systèmes
    Inscrit en
    Octobre 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti ingenieur administrateur systèmes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 67
    Par défaut Keydown Escape Popup
    Bonjour,

    Je suis confronté à un problème. J'ai une popup dont j'aimerai empecher les utilisateurs de fermer avec la touche entrée ou echap.

    J'utilise ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     $(document).keydown(function (event){
        if ($("div[aria-labelledby='ui-dialog-title-popupModificationNomChantier']").css('display') == 'block' )
        {
     
            if ((event.which === 27)||(event.which === 13)) {
                event.preventDefault();
            }        
     
        }else{return true;}
    });
    pour la touche entrée cela marche mais pour echap impossible je ne comprends pas pourquoi.

    Si quelqu’un a une idée.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Si tu ajoutes en ligne 5, var x = event.which || event.keyCode; et que tu vérifies x, Sa donne quoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     $(document).keydown(function (event){
        if ($("div[aria-labelledby='ui-dialog-title-popupModificationNomChantier']").css('display') == 'block' )
        {
            var x = event.which || event.keyCode; 
            //if ((event.which === 27)||(event.which === 13)) {
            if (x === 27||x === 13) {
                event.preventDefault();
            }        
     
        }else{return true;}
    });
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre confirmé
    Homme Profil pro
    Apprenti ingenieur administrateur systèmes
    Inscrit en
    Octobre 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti ingenieur administrateur systèmes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 67
    Par défaut
    salut,
    Merci de ta réponse, j'avais deja essayé mais celà ne donne rien. Je soupçonne que d'autres fonctions du même type passent en priorité avant celle-ci.
    Pourtant sur d'autres pages j'utilise la même fonction et celà fonctionne très bien.

  4. #4
    Membre confirmé
    Homme Profil pro
    Apprenti ingenieur administrateur systèmes
    Inscrit en
    Octobre 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Apprenti ingenieur administrateur systèmes
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2012
    Messages : 67
    Par défaut
    Pour info voici mon init de la popup.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    function initPopupModificationNomChantier() {
        // Object popup
        new PopUp({
            titre: MODIFIER_NOM_CHANTIER,
            actionable: "actionablePopupModificationNomChantier",
            target: "popupModificationNomChantier",
            confirmation: false,
            extendOptions: {
                width: 500,
                minHeight: 130
            }
        });
        // event
        $('#affaire-contenu-caracteristiques .bt-chantier-modifier').on('click', function(event) { 
            event.preventDefault();
            event.stopPropagation();
            setContentPopupModificationNomChantier(event);
        });

    et la fonction qui remplie la popup.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    function setContentPopupModificationNomChantier(e) {
        $.ajax({
            type : 'GET',
            url : Routing.generate('GRDFatoutPriscaIHMPriscaBundle_affaire_popup_modification_nom_chantier', {
                'chantierId' : $(e.target).data('chantier-id')
            }),
            beforeSend : function() {
                ouvrirMessageAttente("popup_modification_nom_chantier_js");
            },
            complete : function() {
                fermerMessageAttente("popup_modification_nom_chantier_js");
            },
            success : function(data) {
                $("#popupModificationNomChantier").html($(data).html());
                $("#popupModificationNomChantier").find("#boutonAnnuler").click(function(){
                    $("#popupModificationNomChantier").dialog("close");
                });
                $("#popupModificationNomChantier").find("#boutonValider").click(function(e){
                    $.ajax({
                        type : 'POST',
                        url : Routing.generate('GRDFatoutPriscaIHMPriscaBundle_affaire_popup_modification_nom_chantier', {
                            'chantierId' : $("#popupModificationNomChantier").find("input[name=chantierId]").val()
                        }),
                        data : $("#popupModificationNomChantier form").serialize(),
                        dataType: 'json',
                        beforeSend : function() {
                            ouvrirMessageAttente("popup_modification_nom_chantier_js");
                        },
                        complete : function() {
                            fermerMessageAttente("popup_modification_nom_chantier_js");
                        },
                        success : function(data) {
                            if(data.statut) {
                                $('.entete-chantier').find("span[data-chantier-id='" + data.extra.id + "'] span.nom-chantier").text(data.extra.nomChantier)
                                $("#popupModificationNomChantier").dialog("close");
                                rafraichirOngletHistorique($("#formConsultation").find('input[id$="_reference"]').val());
                            } else {
                                $('div#div-error-nomChantier').html(data.message);
                                $('div#div-error-nomChantier').addClass('bloc-messages-erreurs');
                                $('input#input-nom-chantier').addClass('erreur');
                            }
                        }
                    });
                });
                $("#actionablePopupModificationNomChantier").click();
            }
        });
    }

Discussions similaires

  1. Comment créer un menu popup style XP ?
    Par chaours dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/09/2003, 09h38
  2. Lire rapidement la touche Escape
    Par BernardLimont dans le forum Assembleur
    Réponses: 11
    Dernier message: 16/07/2003, 21h09
  3. Popup avec un clic gauche
    Par Jéremy A dans le forum Composants VCL
    Réponses: 7
    Dernier message: 27/02/2003, 22h15
  4. Mettre un popup menu invisible ??
    Par Alberto dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 09h02
  5. Image popup d'une fiche à partir d'un TListImage
    Par FW-S dans le forum Composants VCL
    Réponses: 3
    Dernier message: 17/11/2002, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo