2010-06-20 4 views
0

J'ai fait une requête ajax et les différentes lignes obtenues sont répercutées chacune dans un div créé dynamiquement. Maintenant, je veux lier un événement à chacun de ces divs comme mousedown() .. faire quelque chose mais je ne suis pas capable d'accéder à l'un des divs. S'il vous plaît quelqu'un peut-il m'aider avec ça?comment j'accède dynamiquement créer des div ou des éléments avec jquery

+0

Votre question précédente http://stackoverflow.com/questions/3078634/ ​​semblait centrée sur la possibilité de les déplacer. Qu'essayez-vous finalement de réaliser? – user113716

+0

Les éléments créés dynamiquement sont accédés de la même manière que tout autre élément. Si cela ne fonctionne pas pour vous, vous faites quelque chose de mal, mais il est impossible de dire quoi, à moins de montrer un code concret. – RoToRa

Répondre

2

Vous pouvez utiliser .live(), comme ceci:

$(".myDivClass").live('mousedown', function() { 
    alert('Your mouse is down!'); 
}); 

You can view a quick demo here

Il ne lie pas un événement à ces nouveaux divs, il ne fait qu'exécuter la fonction/gestionnaire chaque fois qu'un mousedown se produit dans un élément correspondre à cette classe (déterminée par le bouillonnement), obtenir l'effet que vous voulez ... comme si vous avez lié le gestionnaire à chaque nouvelle div qui apparaît.

0

et une autre solution, que .live()

Vous pouvez charger uniquement la fonction jquery dinamycally, dans votre demande ayax. ce n'est pas utile dans de petites tâches, mais dans les grands projets, il peut être très utile (de ma pratique ...)

3

si vous utilisez jQuery 1.7+, vous devez utiliser .on() ou .delegate() comme .live() est dépréciée.

jQuery("table").on("click", "tr", function(event){}); 
Questions connexes