我有一个textarea
<textarea id="id-textarea-readme" wrap="hard"></textarea>
其工作真的很好,直到有人在&#34;记事本&#34;并通过c&amp; p把它放在那里,这些单词被正确包裹但没有&#34;额外的&#34;换行(这是&#34; hard&#34;的目的)
是否有任何解决方法可以使这项工作?任何JS或触发换行的技巧?
答案 0 :(得分:1)
wrap=hard
属性是非标准的,并且在浏览器中不一致。修改设计,以便您不需要依赖此类客户端操作。 Textarea元素应该产生实际的用户输入,当用户实际按Enter键时包含换行符。如果您需要拆分长行以进行进一步处理,请在服务器端进行。
在我的测试中,IE甚至在复制和粘贴中包装。另一方面,Firefox仅在包装空白时引入硬换行符,但在包装在“单词”内时不引入硬换行符,因此对于cols=5
,输入0123456789(无论是直接还是复制)显示为两个行但是作为一行发送,而01234 56789作为两行发送。我希望找到其他浏览器兼容性。
答案 1 :(得分:0)
副本&amp;粘贴问题可能来自本机OS换行/返回/换行问题。
你可以只是在textarea DOM元素上监听更改或粘贴并使用javascript解析?这是我的概念猜测,这是jquery中的一个通用示例:
$("textarea").on("change", function(event){
$this.replace(/\n\r?/g, '\n');
});