Comment ajouter un évènement à la fonction append de jQuery

Said_de_lyon Messages postés 22 Statut Membre -  
Said_de_lyon Messages postés 22 Statut Membre -
for (i=1; i<=nb_mot_trouver; i++)
{
creation = 'creation_' + i;
$('#table').append('<div id="' + creation + '">' + new_var_append + '</div>');
}
Ce n'est qu'une partie du code.
Je voudrais savoir comment ajouter un évènement onclick à $('#table') selon la variable "creation".

J'ai essayé :
$('#table').append('<div id="' + creation + '" onclick="' + fonction() + '">' + new_var_append + '</div>');
Mais ça ne marche pas.
Pourriez-vous m'aider.
Merci d'avance

4 réponses

  1. Pitet Messages postés 2845 Statut Membre 530
     
    Salut,

    Pour ajouter un évènement onclick à l'élément #table :

    $('#table').click(function() {
    alert('clic sur #table');
    });

    selon la variable "creation"

    Pas sur d'avoir compris ce point. Peux tu nous expliquer plus en détail ?
    Si tu souhaites ajouter un évènement onclick sur l'élément #creation créé avec la fonction append(), tu fois pouvoir faire comme ceci :

    $('#table').append('<div id="' + creation + '">' + new_var_append + '</div>');
    $('#creation').click(function() {
    alert('clic sur #creation');
    });

    Bonne journée
    1
  2. Said_de_lyon Messages postés 22 Statut Membre 2
     
    creation est une variable qui prend une valeur selon une boucle avec un indice (creation = 'creation_' + i;)

    dans l'élément $('#table') j'ajoute plusieurs <div> sur la variable creation où je veux pouvoir affilier une fonction sur un évènement click.
    Dans une boucle où je crée des div à l'id creation sur l'élément '#table' j'ai essayé :

    for (i=1; i<=max; i++)
    {
    creation = 'creation_' + i;
    $('#table').append('<div id="' + creation + '">' + new_var_append + '</div>');
    $(creation).click(function(){alert(creation);});
    }
    L'évènement click ne s'exécute pas.
    Merci d'avance pour votre aide
    1
  3. Said_de_lyon Messages postés 22 Statut Membre 2
     
    Une précision :
    Sur l'élément '#table', après y avoir insérer les éléments div à l'id 'creation_' + i;
    j'y place un scroll sur la table.
    En fait je ne sais pas si je peux mettre un évènement 'click' dans un $('#table').scroll()
    Encore merci d'avance pour votre aide
    1
  4. Pitet Messages postés 2845 Statut Membre 530
     
    Tu as oublié le dièse dans ton sélecteur css :
    puisque
    creation = 'creation_' + i

    $(creation)
    correspond à
    $('creation_2')
    pour i=2
    mais le bon sélecteur est
    $('#creation_2')
    soit
    $('#' + creation)

    mettre un évènement 'click' dans un $('#table').scroll()
    Les événements sont indépendants et se mettent sur un éléments. Ta question n'a pas de sens.
    On peut gérer tous les événements possibles pour chaque élément, par exemple :
    $('#table').click('clic sur #table');
    $('#table').scroll('scroll de #table');

    Voici un exemple avec plusieurs événements :

    for (i = 1; i < 4; i++) {
    $('#table').append('<div id="creation_' + i + '">creation_' + i + '</div>');
    $('#creation_' + i).click(function() {
    alert('clic sur ' + $(this).attr('id'));
    });
    $('#creation_' + i).mouseover(function() {
    $(this).css('font-weight', 'bold');
    });
    $('#creation_' + i).mouseout(function() {
    $(this).css('font-weight', 'normal');
    });
    }
    $('#table').scroll(function() {
    // scroll de l'élément #table
    });
    1
    1. Said_de_lyon Messages postés 22 Statut Membre 2
       
      Merci de ton aide Pitet,
      Finalement, j'ai utilisé l'évènement onscroll sur une balise HTML
      Et ça marche
      Tu peux visiter mon site sur www.liregratuit.fr
      Merci pour tout et à bientôt sur le net
      Saïd
      0