【发布时间】:2019-10-30 13:42:20
【问题描述】:
我有一个带有以下 HTML 的文本区域...
<textarea id="inputFreeContentArea" cols="16" rows="6" maxlength="96" wrap="hard"></textarea>
当用户输入文本时,我希望光标在一行输入 16 个字符时停止移动,它不应该自动移动到下一行,只有当用户按下回车键时。此外,不应超过 6 行。
如何做到这一点?
【问题讨论】:
-
为什么不堆积六个
input type=text元素来看起来像一个textarea ..? -
@Teemu-callmewhateveryouwant 我认为当按下回车键时光标不会跳转到下一个输入字段。此外,我宁愿不收集来自 6 个不同字段的输入。
-
添加一个事件监听器,它检测到 ENTER,并专注于下一个输入。用于 ENTER 检测和输入收集的代码比尝试更改 textarea 元素的本机行为要简单得多。
-
Here's a demo 为您服务。我认为将值收集到隐藏输入是微不足道的。
-
@Teemu-callmewhateveryouwant 感谢演示,它已经接近我想要的了。对于用户体验来说,如果使用箭头键会改变行,那将是很棒的,但我相信这也可以由事件侦听器完成。我认为会有一个更简单的解决方案,代码更少(例如,只需设置一个 textarea 属性),但如果没有,你的答案已经很好了。
标签: javascript html textarea