IE 9文本区域换行问题

3
当我从IE9的文本区域字段复制文本,并将其粘贴到记事本中时,所有换行符都会消失,即使它有多行,也会变成单行,就像下面所解释的那样。这个问题只出现在IE9中,而不是其他浏览器或IE的其他版本。
 abcdefghi
 jklmnopqr
 stuvwxyz

把它复制到记事本中后,它变成了:abcdefghijklmnopqrstuvwxyz。有人知道为什么会这样吗?谢谢。

1
看起来IE9使用普通的\n而不是\r\n作为文本区域换行符。 - Frédéric Hamidi
1个回答

0
您可以使用以下代码片段来替换当前剪贴板数据以在IE上进行复制/剪切:
$('textarea').on("copy cut", function (e) {
    if (window.clipboardData) {
        var sel = this.value.substring(this.selectionStart, this.selectionEnd);
        window.clipboardData.setData("Text", sel.replace(/\n/g, "\r\n"));
        if(e.type === "cut") this.value = this.value.substring(0, this.selectionStart) + this.value.substring(this.selectionEnd);
        e.preventDefault();
    }
});

--演示--


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接