1

我有一个用户输入<textarea id='input_text'>元素,具有以下 CSS:

#input_text{ 
    height:200px; 
    overflow:hidden;  
    border-width:0;
    background-color:transparent;
}

'overflow:hidden' 的主要原因是为了避免在 textarea 已满时弹出丑陋的滚动条。相反,我希望在 textarea 变满时进行分页。实现这一点的最佳方法是什么?我正在考虑 javascript/jquery,但不确定具体如何。

附加说明:当到达 textarea 末尾时,分页会自动发生(新页面),而如果用户退格或单击指向它的链接(返回第 1 页),页面会切换回(旧页面)。

不期待完整的解决方案,但一些有用的提示对我来说会派上用场(可能还有未来的编码人员)。谢谢。

4

3 回答 3

1

文本区域的分页是一个可怕的想法。如果我的评论太长,我不应该通过多页来阅读它。

我会选择http://plugins.jquery.com/project/TextAreaResizer,这是 StackOverFlow 在其文本区域中使用的同一个插件。它允许用户随心所欲地扩展文本区域。

于 2011-04-15T13:27:55.297 回答
1

我会做类似的事情:

  • 在 keyup 事件中检查 scrollHeight 是否大于 textarea 的高度。
  • 如果是删除文本区域中的文本并将其存储在数组中。该数组的值将构成您的“页面”。
  • 然后,您需要构建一些 UI 以在页面中前后导航。

该解决方案的“有趣”部分是如何在中间添加或删除某些内容时重新排列页面。

于 2011-04-15T13:58:04.603 回答
0

jQuery.elastic插件将满足您的需求。随着更多文本进入,它会垂直拉伸文本区域。

于 2011-04-15T13:27:57.663 回答