我有一个textarea
文本框和一个显示输入的可查看p
区域。
我试图根据p
高度或textarea
最大字符串长度控制文本输入量。
我面临两个问题:
1)一旦p
超出最大高度或textarea
获得最大长度,textarea
应停止接受输入。
2)发生上述最大值后,按退格键或在textarea
中删除不会更改p
。
here is my fiddle
编辑:this helps第1部分,但必须使用keydown
(textarea停止接受输入),但点击退格仍未反映在p
上
if (this.value.length == max || height>50) {
e.preventDefault();
} else if (this.value.length > max) {
// Maximum exceeded
this.value = this.value.substring(0, max);
}else{
recField.html(this.value);
height = recField.height()
$('.temp').text(height);
}
经过更多测试,keydown
有问题,p
不反映来自textarea
的{{1}}的输入。
: (
回到1号广场
答案 0 :(得分:1)
我为你创建了这个小提琴,它也可以在IE7中运行(或者至少在IE10中兼容模式): http://jsfiddle.net/jy4qK/11/
不幸的是,当我将其调整为在IE7中工作时,它变得有点混乱,例如在onkeydown
的两个函数之间切换。
编辑:
关于您在onkeydown
上复制文字的更新的快速说明:
textarea的值未复制到onkeydown
上的段落的原因是因为键码尚未发送到元素。这种情况发生在某些浏览器onkeypress
(不可靠),onkeyup
或oninput
上(比onkeyup更快,只能每20 ms处理一次,但是HTML5的一部分,因此不是如果您希望支持IE< 10),则可以选择。
至少如果我的记忆正确地为我服务..