explorer:如何在使用pasteHTML方法后突出显示文本?

时间:2009-10-20 12:28:44

标签: javascript internet-explorer range

我用pasteHTML方法替换选定的文本(将HTML文本粘贴到给定的文本范围中,替换范围内的任何先前的文本和HTML元素。)

var ran = Editor.selection.createRange();
ran.pasteHTML('<span style="font-size:20px;">example</span>');

替换文本后,选择消失。如何再次突出显示以前的选择(文本)?感谢

1 个答案:

答案 0 :(得分:2)

pasteHTML将从文档中删除当前选择,因此我假设您要选择已替换它的范围。为此,请在范围中添加ID,移动TextRange以包含其文本并选择它,如下所示:

var ran = Editor.selection.createRange();
ran.pasteHTML('<span style="font-size:20px;" id="a_random_unique_id">example</span>');

var spanRange = ran.duplicate();
spanRange.moveToElementText( document.getElementById("a_random_unique_id") );
spanRange.select();