¿Hay alguna forma de detectar si el contenido (valor) de un elemento de entrada (tipo = texto) excede su tamaño?Detectar si el texto en un elemento de entrada (tipo = texto) excede los límites en FireFox
En Internet Explorer, la propiedad scrollWidth
será mayor que cuando esto sea cierto. Sin embargo, en Firefox, scrollWidth
siempre es igual a style.width
y es un error conocido (https://bugzilla.mozilla.org/show_bug.cgi?id=343143), bueno, tal vez no es un error porque Mozilla simplemente no considera que un elemento de entrada sea "desplazable", pero aún así. De acuerdo con esta opinión, el elemento textarea
de Firefox establece correctamente la propiedad scrollWidth
cuando el contenido sobrepasa los límites.
Actualmente, mis únicos pensamientos son o bien: (a) el uso de un elemento de área de texto en su lugar y limitarlo a la entrada de línea única de alguna manera o (b) En cada caso keyup de la entrada, copiar el contenido de una manera similar elemento div en forma y mira en su propiedad scrollWidth
.
¿Hay alguna forma mejor de lograr esto en FF?
¿qué hay de comparar la 'longitud' de la cadena con el atributo' size' del cuadro de texto? – drudge
@jnpcl - Esto solo funcionaría si se usa una fuente de ancho fijo y el estilo css en el elemento 'input' no estaba en uso. Para una fuente de ancho variable o casos en los que desee definir explícitamente el ancho de un elemento 'input' (por ejemplo' style = "width: 100px;" '), no sería suficiente verificar la longitud. – userx