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 :

Nouveaux éléments non pris en compte.


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Par défaut Nouveaux éléments non pris en compte.
    Bonjour,
    J ai quelque souci avec Jquery. J ai résumé mon problème dans cet exemple.
    En gros sur ma page j ai un bouton. Lorsque l on clique dessus dans le js je lui dit de crée un autre bouton avec une class.
    Dans ce js j ai fait en sorte que Jquery associe une action lors d un clic sur un bouton qui contient cet class.
    Le problème est que Jquery na pas l aire de le prendre en compte car ces input n existaient pas lors du chargement de la page car si je marque en dure dans le code un bouton avec cet class il sera prit en compte.
    Voici le code :

    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    	<head>
    		<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
    		<script language="javascript" type="text/javascript">
    $(document).ready(function()  
    {
    	$('[name=add]').click(function ()
    	{
    		$('body').append('<input type="button" class="btn_alert" value="Click" />');
    	});
     
    	$('.btn_alert').click(function () 
    	{
    		alert('Hello World !');
    	});
    });
    		</script>
    	</head>
    	<body>
    	<input type="button" name="add" />
    	<input type="button" class="btn_alert" value="Click" />
    	</body>
    </html>

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Citation Envoyé par krazybiker Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('body').append('<input type="button" class="btn_alert" value="Click" />');
    Je ne connais pas jquery, mais je serais très surpris que ceci fonctionne.

    L'accès à 'body', normalement, passe par une méthode DOM qui retourne un Array. Il faut donc spécifier l'index de l'Array ([0], par exemple).
    Si jquery transforme cet Array en object dès lors qu'il ne rencontre qu'un seul élément, tant mieux pour toi, sinon, ton append s'effectue sur l'Array au lieu de l'élément. Tu me suis ?

    Je serais toi, je placerais des alerts sur .TagName derrière tes accès jquery, pour voir si les objets retournés sont en adéquation avec ce que tu cherches à récupérer. Si tu n'as pas la propriété, c'est que tu n'est pas sur un Node, mais sans doute bien un Array.

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 2
    Par défaut
    Je voi se que tu veut dire. J ai simplement fait un exemple rapide.
    Tu peut remplacer $('body') par un $('div.content') et rajouter <div class="content"></div> dans le code.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Ok. jquery prend ça en charge très bien, effectivement.

    Ton soucis vient du fait que ton bouton n'est pas créé au moment de l'ajout du 'hello world". Il te suffit de placer la déclaration du .click juste derrière ton .append

  5. #5
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $("input[name='add']").click(function(){
    	$("body").append("<input type='button' class='btn_alert' value='Click' />");
    });
     
    $("input.btn_alert").live("click", function(){
    	alert("Hello World !");
    });
    live(), Voir : http://www.developpez.net/forums/d83...s/#post4805186

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

Discussions similaires

  1. [QR 4.05] Propriété imprimante non pris en compte
    Par portu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 30/09/2008, 14h21
  2. CSS non pris en compte
    Par DragOr dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 08/06/2006, 13h18
  3. [ASE][SQL]WHERE non pris en compte
    Par Benjamin78 dans le forum Sybase
    Réponses: 1
    Dernier message: 24/03/2006, 12h00
  4. Accents non pris en compte dans les requêtes SELECT
    Par YanK dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/08/2005, 10h57
  5. [event] keyListener non pris en compte
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/08/2005, 08h35

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