textarea输出p - 最大长度或高度

时间:2013-04-09 17:29:54

标签: javascript jquery

我有一个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号广场

1 个答案:

答案 0 :(得分:1)

我为你创建了这个小提琴,它也可以在IE7中运行(或者至少在IE10中兼容模式): http://jsfiddle.net/jy4qK/11/

不幸的是,当我将其调整为在IE7中工作时,它变得有点混乱,例如在onkeydown的两个函数之间切换。

编辑:

关于您在onkeydown上复制文字的更新的快速说明:

textarea的值未复制到onkeydown上的段落的原因是因为键码尚未发送到元素。这种情况发生在某些浏览器onkeypress(不可靠),onkeyuponinput上(比onkeyup更快,只能每20 ms处理一次,但是HTML5的一部分,因此不是如果您希望支持IE< 10),则可以选择。

至少如果我的记忆正确地为我服务..