当前位置:  开发笔记 > 编程语言 > 正文

正在寻找最终的Resizing Textarea

如何解决《正在寻找最终的ResizingTextarea》经验,为你挑选了1个好方法。

我想为用户提供resizing textarea控件.我已经给了这个去看看其他一些实现,但我似乎找不到满足我所有要求的实现.具体来说,我想要一个控件:

当页面以标准兼容模式(即不在怪异模式下)呈现时,可在Windows上的IE6,IE7,IE8以及Windows和OS X上的Firefox 3和3.5中使用.

不会搞乱undo buffer/undo stack.IE是一个特别令人讨厌的问题 - 添加节点,删除节点和其他一些DOM操作将重置输入缓冲区,这意味着如果实现依赖于这些技术,则撤销将不会像在标准textarea控件中那样运行.除了这个说明,我还没有找到关于这个bug的更多信息.像jQuery Auto Growing Plugin这样的实现遇到了这个问题 - 尝试撤消IE中的更改并比较它如何工作到标准textarea.我添加了一个向JSBin演示此问题的示例页面.

具有最大高度,超过该高度,控件无法生长.

删除内容时适当缩小.

在按键上不闪烁或行为异常.例如,当控件超出初始大小时,jQuery Auto Growing Textarea控件的行为奇怪,至少是IE7.

不要求控件使用固定宽度/等宽字体.

我看到的最接近这种功能的是Facebook的状态更新字段,它是作为内容可编辑的div元素实现的,但我对使用这样的元素有一些保留,因为使用div意味着:

需要明确地设置边框样式,这意味着我们最终可能会得到一个看起来与原生textarea不同的边框.

需要与真正的textarea同步内容(可能在两个方向?).

在相对于textarea的位置放置提示和其他元素时添加复杂性.

虽然这种方法适用于Facebook状态更新,但它在包含数百个标准输入元素的表单中的效果如何?

我上面列出的内容代表了"最终调整文本区域" - 解决了我认为现有方法存在的问题.这样的控制存在吗?是否可以编写这样的控件?



1> RameshVel..:

查看DOJO工具文本区域控件

在此演示页面上查看更多信息(文本区域在表单末尾)

这非常符合您的要求.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有