4 回答

TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用獲取選擇對(duì)象window.getSelection()。
使用Selection.getRangeAt(0).insertNode()添加textnode。
如有必要,使用將光標(biāo)移動(dòng)到添加的文本后面Selection.modify()。(未標(biāo)準(zhǔn)化,但Firefox,Chrome和Safari支持此功能)
function insertTextAtCursor(text)
{
let selection = window.getSelection();
let range = selection.getRangeAt(0);
range.deleteContents();
let node = document.createTextNode(text);
range.insertNode(node);
for(let position = 0; position != text.length; position++)
{
selection.modify("move", "right", "character");
};
}

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
// <div contenteditable id="myeditable">
// const editable = document.getElementById('myeditable')
// editable.focus()
// document.execCommand('insertHTML', false, '<b>B</b>anana')
document.execCommand('insertText', false, 'banana')

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
只是一個(gè)簡(jiǎn)單的方法與jQuery:
復(fù)制div的全部?jī)?nèi)容
var oldhtml=$('#elementID').html();
var tobejoined='<span>hii</span>';
//element with new html would be
$('#elementID').html(oldhtml+tobejoined);
添加回答
舉報(bào)