2011-06-28 3 views
2

Je veux juste effacer où devrait le javascript pour les pages ajax devrait être mis po Par exemple dans ma page dès que la page se charge je fais une requête ajax et retrie 20 enregistrements chacun composé d'environ 10 divs avec quelques boutons et actions propres. Maintenant pour les actions js ajax et côté client pour les éléments nouvellement chargés, js doit être placé dans le rappel dans la fonction parente pour qu'ils fonctionnent correctement, mais cela devient salissant car j'ai environ 15 actions pour les nouveaux éléments. contrôles chargés.javascript pour les pages ajax

Il est facile de mettre tout le code avec la page ajax renvoyée.

qui est si ce que je reviens de la demande initiale

<div id="something"> 
<input type="button" id="btn1"> 
<input type="button" id="btn2"> 
<input type="button" id="btn3"> 
</div> 

Si j'intégrer le code js jquery respectif pour ces éléments ainsi que le résultat retourné son amende de travail.

$("#btn1").click(blah) 
$("#btn2").click(blah) 
$("#btn3").click(blah) 

Question est, est-ce correct de le faire de cette façon.

Répondre

5

Utilisez la méthode $.live() pour ajouter une logique d'événement aux éléments ajoutés ultérieurement dans le cycle de vie des pages.

$(":button").live("click", function(){ 
    // This works on all buttons loaded asynchronously too 
    alert("You clicked button #" + $(this).index()); 
}); 

Démo en ligne: http://jsbin.com/obapej/edit

+0

merci beaucoup, vous avez fait mymday – swordfish

Questions connexes