0

我有一个textarea文本框和一个p显示输入的可视区域。
我正在尝试根据p高度或textarea最大字符串长度来控制文本输入量。
我面临两个问题:

1)一旦p超过最大高度或达到textarea最大长度,textarea应停止接受输入。

2)在上面的最大值发生后,按退格键或删除键textarea不会改变p

这是我的小提琴

编辑这对第 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喜欢的输入keyup
: (
回到广场 1

4

1 回答 1

1

我为你创建了这个小提琴,它也适用于 IE7(或至少 IE10 中的兼容模式):http: //jsfiddle.net/jy4qK/11/

不幸的是,当我调整它以在 IE7 中工作时它变得有点混乱,例如在onkeydown.

 

编辑:

关于您自己关于在以下位置复制文本的更新的快速说明onkeydown

之所以没有将 textarea 的值复制到 上的段落onkeydown,是因为 keycode 尚未发送到元素。这发生onkeypress在某些浏览器(不可靠)和onkeyuponinput(比 onkeyup 更快,它仅每 20 毫秒处理一次,但它是 HTML5 的一部分,因此如果您希望支持 IE < 10,则不是一个选项)。

至少如果我的记忆正确的话..

于 2013-04-09T20:31:10.987 回答