I've been calling execCommand
on the document to make the selected text bold or to set its color. But recently I need to use execCommand
on a certain range and not the selected text.
Can I do this and if so how?
I've been calling execCommand
on the document to make the selected text bold or to set its color. But recently I need to use execCommand
on a certain range and not the selected text.
Can I do this and if so how?
Share Improve this question edited Jul 2, 2011 at 10:22 alex 491k204 gold badges889 silver badges991 bronze badges asked Jul 2, 2011 at 10:20 JoshuaJoshua 15.5k24 gold badges101 silver badges174 bronze badges1 Answer
Reset to default 8You can, but it needs to be the selection. So in other words, do the following:
- Store the current selection
- Make a new selection based on the
Range
- Perform the
execCommand
- Restore the previous selection
You can create a selection
from ranges (non-IE browsers) with the following:
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
With IE, you can directly execute execCommand
on TextRange
objects, so this whole process won't be necessary.