如果我写的话,我想有一些功能
<textarea maxlength="50"></textarea>
<textarea maxlength="150"></textarea>
<textarea maxlength="250"></textarea>
Run Code Online (Sandbox Code Playgroud)
它会自动在textArea上施加maxlength.如果可能请不要在jQuery中提供解决方案.
注意:如果我这样做,可以这样做:
<textarea onkeypress="return imposeMaxLength(event, this, 110);" rows="4" cols="50">
function imposeMaxLength(Event, Object, MaxLen)
{
return (Object.value.length <= MaxLen)||(Event.keyCode == 8 ||Event.keyCode==46||(Event.keyCode>=35&&Event.keyCode<=40))
}
Run Code Online (Sandbox Code Playgroud)
复制在HTML textarea上模拟HTML输入"maxlength"属性的最佳方法是什么?
但问题是我每次声明textArea时都不想写onKeyPress和onKeyUp.
我有一个textarea属性maxlength设置为350& 它工作正常,它也将输入/换行符计为一个字符。
如果用户尝试输入超过或达到350我使用此代码的字符限制,我还必须显示错误消息:
$("textarea").keyup(function (e) {
if($(this).val().length >=350){
$('.error').show();
}else{
$('.error').hide();
}
});
Run Code Online (Sandbox Code Playgroud)
它可以工作,但在 chrome 中它不计算输入/换行符,但如果用户将文本分成多行,则 maxlength 会计算在内,他会在 350 个字符后停止输入,但看不到任何消息。
这是一个可以玩的小提琴:https : //jsfiddle.net/udp9oxx4/
请注意,此错误仅发生在 chrome 中。