Bonsoir,
Je travaille sur un système d'édition de champs classique : un DIV contenant un texte se change en INPUT quand on clique dessus => le texte est modifiable. Jusqu'ici tout va bien..
Le problème auquel je me retrouve confronté est que mon élément INPUT se décale légèrement par rapport à l'élément DIV d'origine sous certaines conditions (taille de la police par exemple). Du coup, cela décale et/ou déplace d'autres éléments dans ma page. Bof bof..
Une solution a été de passer le style position de l'élément INPUT en absolue et d'utiliser une fonction Javascript pour récupérer les coordonnées top/left du DIV de départ,
puis de déplacer l'élément INPUT avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function getPosition(e){ var left = 0; var top = 0; while (e.offsetParent){ left += e.offsetLeft; top += e.offsetTop; e = e.offsetParent; } left += e.offsetLeft; top += e.offsetTop; return {x:left, y:top}; }
Mais cela n'est pas viable car je me retrouve confronté à d'autres problèmes de positionnements, l'élément INPUT créant un vide dessous lui.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3input.style.top = ... input.style.left = ...
Je souhaiterais donc pouvoir déplacer mon INPUT sans avoir à toucher à la propriété de positionnement.
Des idées ????
Partager