如果我写的话,我想有一些功能
<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.
我有以下代码(从这个问题中提取)来设置textareas的字符限制.
function maxLength(el) {
if (!("maxLength" in el)) {
var max = el.attributes.maxLength.value;
el.onkeypress = function () {
if (this.value.length >= max) return false;
};
}
}
var maxtext = document.getElementsByClassName("maxtext");
for (var i = 0; i < maxtext.length; i++) {
maxLength(maxtext[i]);
}
Run Code Online (Sandbox Code Playgroud)
以及我的textareas html示例:
<textarea maxlength="150" class="maxtext"></textarea>
Run Code Online (Sandbox Code Playgroud)
这一切在Firefox和Chrome中都运行良好.在IE7 +中,如果我输入限制,它将阻止我,但我可以无限制地复制/粘贴文本.
有没有办法修改此脚本以防止复制/粘贴超出最大字符限制?