Déplacer un élément Input avec une fonction
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,
Code:
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};
} |
puis de déplacer l'élément INPUT avec
Code:
1 2 3
|
input.style.top = ...
input.style.left = ... |
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.
Je souhaiterais donc pouvoir déplacer mon INPUT sans avoir à toucher à la propriété de positionnement.
Des idées ????