我需要pasteHTML()
代替未突出显示的文本。我知道如果做类似的事情mySelectedText.createRange().pasteHTML()
我会得到我想要的但是如何为未选择的文本设置范围?在这种情况下,我唯一拥有的只是光标/插入符号,它位于我想要突出显示和替换的行中。谢谢你的帮助。
更新:
This is one line.
|This is ano|ther line.|
|
- 可能的插入符号位置。我需要突出显示插入符号所在的整行。未选择任何文本。
我需要pasteHTML()
代替未突出显示的文本。我知道如果做类似的事情mySelectedText.createRange().pasteHTML()
我会得到我想要的但是如何为未选择的文本设置范围?在这种情况下,我唯一拥有的只是光标/插入符号,它位于我想要突出显示和替换的行中。谢谢你的帮助。
更新:
This is one line.
|This is ano|ther line.|
|
- 可能的插入符号位置。我需要突出显示插入符号所在的整行。未选择任何文本。
我还不确定你真正需要什么。下面的(仅限 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;
}
此功能允许插入符号/字符/交叉线选择,并且如果有可用的选择,也适用于不可编辑的元素。