文本区域属性 wrap=hard 不适用于粘贴的文本,任何解决方法



我有一个文本区域

<textarea id="id-textarea-readme" wrap="hard"></textarea>

这工作得很好,直到有人在"记事本"中写下他的文本并通过 C&P 将其放入其中,单词被正确包装但没有"额外的"换行符(这是"硬"的目的)

是否有任何解决方法可以使其工作? 任何JS或触发换行符的技巧?

wrap=hard 属性是非标准的,在浏览器中无法一致地工作。修改设计,以便不需要依赖此类客户端操作。文本区域元素应生成实际的用户输入,当用户实际按 Enter 时包含换行符。如果需要拆分长线以进行进一步处理,请在服务器端执行此操作。

在我的测试中,IE甚至可以在复制和粘贴中换行。另一方面,Firefox 仅在换行时引入硬换行符,而不是在"单词"内换行时引入硬换行符,因此对于cols=5,输入0123456789(无论是直接还是复制粘贴)显示为两行但作为一行发送,而 01234 56789 作为两行发送。我希望也会发现其他浏览器不兼容。

复制和粘贴问题可能来自本机操作系统换行/返回/换行符问题。

您可以只侦听更改或粘贴在 textarea DOM 元素上并使用 JavaScript 解析? 这是我的概念猜测,这是 jquery 中的一个通用示例:

$("textarea").on("change", function(event){
    $this.replace(/nr?/g, 'n');
});

相关内容

最新更新