问题:在input标签中,只需要设置maxlength=”***”即可,但是在textarea标签中,IE9及IE9以下浏览器是不支持的,IE10、IE11则支持
解决:
<textarea id="taContent" rows="3" maxlength="20"
onchange="this.value=this.value.substring(0, 20)"
onkeydown="this.value=this.value.substring(0, 20)"
onkeyup="this.value=this.value.substring(0, 20)" ></textarea>
备注:onchange、onkeydown、onkeyu三者缺一不可。
如省略onchange,当你用复制功能,此时一直按着ctrl不松开,鼠标去点击其他地方(焦点移出textarea)时,不会自动取消超出部分;
如省略onkeydown,猛敲的时候会有很多个字符突然不见;
如省略onkeyup,原想预计20的情况下,会变成21,并且最后一个字符是最后敲进去的。
Maxlength 也不可省略,加上maxlength 当碰到IE10及以上版本时,可以完美的实现限制输入框字数的功能。不想其他低版本的IE浏览器还可以出现一个字母后消失。

本文介绍在不同浏览器下,特别是IE9及以下版本中,如何通过onchange、onkeydown、onkeyup事件结合maxlength属性,实现对textarea标签输入内容的字数限制,确保在各种环境下都能有效控制输入长度。
7006

被折叠的 条评论
为什么被折叠?



