Определять, выходит ли текст в элементе input (type = text) за пределы FireFox

Есть ли способ определить, превышает ли содержимое (значение) элемента input (type = text) его размер?

В Internet Explorer свойство scrollWidth будет иметь больше, чем style.width , когда это правда. Однако в Firefox scrollWidth всегда равняется style.width и это известная ошибка ( https://bugzilla.mozilla.org/show_bug.cgi?id=343143 ), ну, возможно, это не ошибка, потому что Mozilla просто не считает элемент ввода "прокручиваемым", но все же. В соответствии с этим мнением, элемент Firefox textarea ДЕЙСТВИТЕЛЬНО устанавливает свойство scrollWidth , когда контент выходит за границы.

В настоящее время я думаю только о следующем: (a) Вместо этого используйте элемент textarea и каким-то образом ограничьте его однострочным вводом или (b) При каждом нажатии клавиши ввода скопируйте содержимое в элемент div аналогичной формы и посмотрите на его свойство scrollWidth .

Есть ли лучший способ сделать это в FF?

7
задан userx 29 January 2011 в 01:12
поделиться