【发布时间】:2012-05-19 19:10:31
【问题描述】:
我的问题与 textarea 中的 Automatic newline in textarea 几乎相似,但我的上下文更复杂。我有多个具有 1 行属性的文本区域,因此给人一种在空中书写的印象(仅表示网站上没有边框的空白区域,因为我在 css 中将文本区域边框设置为 >>> 边框:0;) .
如果用户输入的文本已经到达textarea的行尾,我想使用JQuery或Javascript计算他/她何时自动移动到下面的下一个textarea。解决此问题的一种方法是尝试对字符进行计数,但不同的字符具有不同的宽度。
我正在考虑在 textareas 的边缘插入一个隐藏元素以作为 nexttextarea.focus() 事件的触发器,但我不知道如何实现这一点。
我尝试过四处游荡并考虑不同的技巧,但似乎只有一个是解决方案...尝试将每个字符存储在一个数组中,并为它们提供以像素为单位的默认空间...就像 ' a'=>0.7px,'b'=>0.9px 或类似的东西,如果它们是某个地方的列表(尽管看起来它在内存方面会花费很多开销,因为我必须这样做存储大写,小写字母和许多其他字符。)然后根据浏览器的宽度进行一些计算,如果它已被重新调整大小或不是完整大小,以确定 textarea 行宽何时在浏览器宽度边缘变满. (目前 textarea 的宽度是 100% 并且没有父级,因此会填充整个浏览器宽度)。
如果有人知道我可以完成此任务的复杂或简单方法,请帮助我。一个大问题是 IE 和 Mozilla 在调整浏览器窗口大小时会引入滚动条,而滚动条是我从不希望用户看到的(记住打字时的感觉) .
请原谅我如此冗长..只是想准确和详细。
【问题讨论】:
标签: javascript jquery css html