bonjour,
J'ai un tableau qui contient des données avec (parfois) des retour à la ligne
Pour ne pas que les lignes de celui ci s'agrandissent, j'ai formaté le cellules avec le Css suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 td {
  overflow:hidden;
  white-space:nowrap;
 }
Pour que l'utilisateur puisse voir le contenu complet (avec les retours à la lignes), j'ai un div avec le Css suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
#IdCommentaire{
  white-space:pre; /* indique de prendre le formatage tel quel avec retours à la ligne tabulations etc)*/
}
et une fonction qui affiche dans ce div le contenu de la cellule sur mouseover via la fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
    function show_comment(event) {
      var elt_div = $('IdCommentaire');
      // on récupère qui est à l'origine du show comment
      var elt_td = Event.element(event)
      if (elt_div) {
          elt_div.innerHTML=elt_td.innerHTML
        //elt_div.innerHTML=elt_td.innerHTML.replace('\n','|');
        //elt_div.innerHTML=elt_td.firstChild.nodeValue.replace('\n','|');
      }     
    }
tout ceci marche à merveille sur firefox, mais sur IE aucun retour a la ligne.
Après vérifications le css "white-space:pre;" n'est valable sous IE qu'en mode csscompat (et pas quirks), ce que j'ai pu vérifier sur un cas plus simple.
Mais le pb ne vient pas de là (j'ai essayé aussi de mettre le contenu du div dans une balise <PRE></PRE> sans plus de succès.
En fait, il semble que dès qu'on fait une "copie" d'un élément, IE supprime automatiquement les retours à la ligne (ce que j'ai pu vérifier avec les 2 lignes en commentaires (ou je transforme le '\n' en '|' )--> sous Firefox je vois les | sous IE ...aucun '|' ni '\n'

Au cas où ce serait le innerHTML qui poserait probleme J'ai tenté aussi un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
       cloneNode = elt_td.cloneNode(true);
        elt_div.innerHTML="";
        elt_div.appendChild(cloneNode);
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
elt_div.innerHTML=elt_td.firstChild.nodeValue;
Sans plus de succès


Est ce que quelqu'un à une idée, soit de ce qui ne va pas dans mon code soit de comment contourner le pb (en dehors de mettre des <BR> lors de la génération du contenu de la cellule car je ne veux pas que les retours à la lignes soit présent dans le tableau initial. Je ne peux/veux pas non plus gérer 2 versions de chaque cellule une avec <BR> et une sans <BR> car j'ai le "pb" sur toutes les cellules d'un tableau qui peut être grand


Merci pour toute aide...