2010-07-26 6 views
1

J'ai une table html avec quelques lignes, j'ai inclus une fonction jquery commequestion jquery, onmouse over ne fonctionne pas sur la nouvelle ligne

$('tr').mouseover(function() { 
    $(this).addClass('row_over'); 
}); 

de telle sorte que sur la souris sur la classe css de cette ligne particulière changements. Ensuite, j'ai ajouté une ligne supplémentaire en utilisant jquery, mais la fonction de survol de la souris ne fonctionne pas sur la ligne ajoutée dynamiquement, la fonction de survol de la souris fonctionne sur toutes les lignes sauf cette nouvelle.

S'il vous plaît aidez-moi à SORTOUT cette question

Merci

Répondre

0

Utilisez l'événement .live pour se lier à des éléments créés après chargement de la page.

+0

Merci, ça marche maintenant :) – milan

3

Au lieu d'utiliser .mouseover, vous devez utiliser .live

$('tr').live('mouseover', function() { 
    $(this).addClass('row_over'); 
}); 

Cependant faites attention en utilisant la méthode .live() a-t-il un coup de performance pour l'utiliser.

Si vous pouvez, lors de l'ajout de la nouvelle ligne, essayez de lier une nouvelle mouseover à cette ligne dynamique:

row = addNewRow(); 
row.mouseover(function() { ... }); 
+0

Merci, ça marche maintenant :) – milan

+0

Serait-il plus sûr d'utiliser mouseover() au lieu de live(), et de lier la fonction aux nouvelles lignes de table au fur et à mesure de leur création? – Carson63000

+0

@ Carson63000 c'est ce que j'ai dit dans mon post. –