Ajax et bulle d'aide [ToolTip]

Résolu/Fermé
AdJiBouDi - 3 juil. 2008 à 17:46
 AdJiBouDi - 4 juil. 2008 à 10:22
Bonjour à tous.

Je vous explique mon problème :
j'utilise un plugin jQeury afin de créer des infobulles (tooltip) sur les cases de ma table HTML. Cela se présente comme suit :

[b]Table HTML[/b]
[code]<table id="maTable">
<tr id="trid_01">
<td><a href='#tooltip' class='clic'>Case 1A</a></td>
<td><a href='#tooltip' class='clic'>Case 2A</a></td>
</tr>
<tr id="trid_02">
<td><a href='#tooltip' class='clic'>Case 1B</a></td>
<td><a href='#tooltip' class='clic'>Case 2B</a></td>
</tr> ETC...
</table>[/code]

[b]ToolTip[/b]
[code]<div id="tooltip" class="tooltip_cls">
<ul>
<li class="top"></li>
<li><a href="#" onClick="walk(0);" rel="close">Modifier</a></li>
<li><a href="#" rel="close">Supprimer</a></li>
<li><a href="#" onClick="walk(2);" rel="close">Param</a></li>
<li class="bottom"></li>
</ul>
</div>[/code]

Et voici ,la commande jQuery qui permet d'afficher le ToolTip (vous l'aurez compris, le DIV précédant s'affiche uniquement lorsque l'on clique sur un élément de la table HTML)
[code]$("a.clic", "#"+this.id).simpletooltip({click: true, effect: "slideDown", hideDelay: 0.4});[/code]
this.id correspond à l'ID de la ligne <tr>; par exemple 'trid_01'.


Tout cela est fonctionnel au départ. Mais lorsque j'ajoute une ligne à ma table HTML (en passant par le DOM), le tooltip ne fonctionne pas pour la nouvelle ligne insérée.Précision, cela ne marche pas sous IE. Sous FireFox, un simple appel de la commande jQuery précédante avec l'ID de la nouvelle ligne insérée et tout fonctionne.

Auriez-vous une idée??
Merci de votre aide.

1 réponse

J'y aurais passé la nuit, mais au moins j'ai trouvé !

Le problème se situe au niveau du constructeur du plugin qui permet l'affichage des Tooltips :
[code]var currentHref = jQueryVarNoConflict(this).attr("href");[/code]
Cette ligne est censée récupérer "l'adresse" du lien lorsque vous cliquer sur un élément qui doit afficher un Tooltip (si vous regarder sur la table précédente, il s'agit ici de "#tooltip").

Sous FireFox, après un ajout manuel dans la table, le lien est bien celui-ci ("#tooltip").
Sous IE, le lien devient : "http://localhost/index.php#tooltip"; (par exemple)

Donc, dans le plugin, lorsque l'on récupère le lien et que l'on fait une vérification avant de créer le ToolTip, sous FireFox ça passe, mais pas sous IE.

Voilà, donc problème résolu si cela peut intéresser d'autres gens...
0