我添加了一个按钮,使用 stakoverflow 上的此功能将一些文本从 textarea 插入到可编辑的 DIV。
function insertAtCursor(){
document.getElementById('myInstance1').focus() ; // DIV with cursor is 'myInstance1' (Editable DIV)
var sel, range, html;
var text = document.getElementById('AreaInsert').value ; // Textarea containing the text to add to the myInstance1 DIV
if (window.getSelection) {
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
range = sel.getRangeAt(0);
range.deleteContents();
range.insertNode( document.createTextNode(text) );
}
} else if (document.selection && document.selection.createRange) {
document.selection.createRange().text = text;
}
}
使用 Internet Explorer时,document.selection.createRange().text
它可以很好地用于换行。在 Firefox 和 Chrome 中,不考虑文本区域的换行符,从文本区域插入到可编辑 div 的所有文本仅在一行上。
如何修改 insertAtCursor() 以使其适用于 Firefox 和 Chrome 的换行符?