1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
function adapterLargeur(elemt){
/*
* Adapte la largeur des INPUTs au texte inscrit dedans
*/
var ndfontsize, ndfontfamily, ndfontstyle, ndfontweight;
var tt = elemt.value;
//
document.styleSheets[1].cssRules : document.styleSheets[1].imports;
// lecture des propriétés du texte
var sheet=document.styleSheets[1];
if ('cssText' in sheet) { // Internet Explorer
ndfontsize = elemt.currentStyle.fontSize;
ndfontfamily = elemt.currentStyle.fontFamily;
ndfontstyle = elemt.currentStyle.fontStyle;
ndfontweight = elemt.currentStyle.fontWeight;
}
else { // Firefox, Opera, Google Chrome and Safari
ndfontsize = getComputedStyle(elemt, null).fontSize;
ndfontfamily = getComputedStyle(elemt, null).fontFamily;
ndfontstyle = getComputedStyle(elemt, null).fontStyle;
ndfontweight = getComputedStyle(elemt, null).fontWeight;
}
//
// Création puis destruction d'un DIV avec les même caractéristiques pour en connaître la longueur en pixel
var container=document.createElement("div");
container.style.visibility="hidden";
container.style.fontFamily=ndfontfamily
container.style.fontSize=ndfontsize
container.style.fontStyle=ndfontstyle
container.style.fontWeight=ndfontweight
container.id="magicdiv";
container.style.display="inline";
document.body.appendChild(container);
document.getElementById("magicdiv").innerHTML=tt;
var longueur = document.getElementById("magicdiv").offsetWidth;
document.getElementById('magicdiv').parentNode.removeChild(document.getElementById('magicdiv'));
//
// Fixation de la longueur du champ input
elemt.style.width=(longueur+5)+"px";
} |
Partager