Обычно пользователь может вводить текст в текстовом поле. Чтобы ограничить характер, требуется много времени, так как нужно проверить, сколько символов можно ввести в поле ввода. Поэтому я старался следовать следующим образом.
$.fn.textWidth = function(text, font) {
if (!$.fn.textWidth.fakeEl) $.fn.textWidth.fakeEl = $('<span>').hide().appendTo(document.body);
$.fn.textWidth.fakeEl.text(text || this.val() || this.text()).css('font', font || this.css('font'));
return $.fn.textWidth.fakeEl.width();
};
$('input').keyup(function(){
if($(this).innerWidth()< $(this).textWidth())
{
$(this).val($(this).val().substr(0,$(this).val().length-1));
}
});
В консоли я получаю следующую ошибку:
Uncaught ReferenceError: textWidth is not defined
Не могли бы вы предложить мне, что я должен делать?
Вы можете просто использовать свойство maxlength
в HTML, чтобы установить максимальную длину значения в символах, здесь нет необходимости в javascript:
<input type="text" name="foo" maxlength="20" />
$(this).innerwidth()
, поскольку в jQuery такого метода нет, этоinnerWidth()
(прописнаяinnerWidth()
W)