我需要pasteHTML()
而不是未突出显示的文字。我知道如果做mySelectedText.createRange().pasteHTML()
这样的事情,那么我会得到我想要的但是如何为未选择的文字制作范围?在这种情况下我唯一拥有的只是光标/插入符号,它位于我要突出显示和替换的行中。谢谢你的帮助。
更新
This is one line.
|This is ano|ther line.|
|
- 可能的插入位置。我需要突出整线,插入符号。没有选择任何文字。
答案 0 :(得分:0)
我还不确定你真正需要什么。下面的(仅限IE)代码选择插入符/选择所在的行,并返回包含该行的textRange
对象。
selectLine = function () {
var range = document.selection.createRange(),
origTop = range.offsetTop,
origHeight = range.boundingHeight;
range.moveToElementText(range.parentElement());
while (range.offsetTop !== origTop) {
range.moveStart('character', 1);
}
while (range.boundingHeight !== origHeight) {
range.moveEnd('character', -1);
}
range.select();
return range;
}
此功能允许插入/字符/跨行选择,如果有可供选择,也可以使用不可编辑的元素。