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

jQuery Discussion :

Fonction non appelée sur onblur()


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut Fonction non appelée sur onblur()
    Bonjour,

    Ce code n'est pas appelé lorsque les éléments en question perdent le focus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $([document]).on( 'blur', 'input.periodSeason',function(event) {
    ...
    }
    Or, lorsque je l'écris comme ceci, la fonction est bien appelée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $( ".periodSeason" ).blur(function() {
    ...
    }
    Du fait que certains de ces contrôles peuvent être construits via du javascript, je dois utiliser la première façon de faire.

    Quelqu'un aurait une idée sur la manière dont il faut procéder?

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 517

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Merci beaucoup pour ton aide.

    Malheureusement, en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).on( 'blur', 'input.periodSeason',function(event) {
    , ça ne fonctionne pas non plus

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 517
    Par défaut
    il n'y a aucune raison pour que cela ne fonctionne pas, a moins que 'input.periodSeason' n'existe pas dans ta page.

    tu mets bien ton code dans un $(document).ready() ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Je viens de l'ajouter et ça donne donc ceci :

    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
     
     
     
    $(document).ready(function() {
        $(document).on( 'blur', 'input.periodSeason',function(event) {
     
        alert('ok');
     
        /*var seasons = document.getElementsByClassName('priceSeason');
     
        if (! jQuery.inArray( $(this).val(), seasons )) {
     
            collectionPrices = $ ( 'div.prices' );
     
            alert("Element non trouvé");
            
        }
        else {
     
            alert("Element trouvé");
     
        }*/
     
        });
    });
    Malheureusement, ça ne fonctionne pas.

    Par contre, le code suivant fonctionne bien sur les contrôles construits au chargement de la page, mais pas sur les contrôles construits via du javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $( ".periodSeason" ).blur(function() {
        alert( "Handler for .blur() called." );
      });

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 517
    Par défaut
    il y a surement quelque chose dans ta page qui empêche le fonctionnement du code.
    essai de faire un test simple (dans une autre page), et ouvre la dans le navigateur.

    Edit : même si tu changes $(document) par $("body"), toujours la même chose?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction non appelée
    Par coquero dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2008, 13h52
  2. valueUnbound non appelé sur Was 6 alors que
    Par paquerette dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 18/06/2008, 15h49
  3. Fonction Class_Terminate non appelée sur set nothing
    Par zesamoth dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 04/06/2008, 12h00
  4. fonction non appellée ,
    Par totoche dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/08/2007, 09h36
  5. Verifier formulaire - fonction non appelée
    Par nerick dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/12/2005, 17h44

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