通常,用户可以在文本字段中输入更多内容。限制字符是一个耗时的过程,因为它需要检查输入字段中可以输入的字符数。 所以我试着按照以下方式。
$.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
你能建议我做什么吗?
答案 0 :(得分:1)
您可以简单地使用HTML中的maxlength
属性来设置字符值的最大长度,这里不需要javascript:
<input type="text" name="foo" maxlength="20" />