最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - execCommand on Range - Stack Overflow

programmeradmin1浏览0评论

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 badges
Add a ment  | 

1 Answer 1

Reset to default 8

You 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.

发布评论

评论列表(0)

  1. 暂无评论