execCommand on Range

Jos*_*hua 5 javascript webkit execcommand

我一直在调用execCommand文档,使所选文本变为粗体或设置其颜色.但最近我需要execCommand在某个范围内使用而不是选定的文本.

我可以这样做,如果是这样的话怎么样?

Nik*_*las 7

你可以,但它需要是选择.换句话说,请执行以下操作:

  • 存储当前选择
  • 根据.做一个新的选择 Range
  • 执行 execCommand
  • 恢复以前的选择

您可以使用以下命令创建selection范围(非IE浏览器):

 var selection = window.getSelection();
 selection.removeAllRanges();
 selection.addRange(range);
Run Code Online (Sandbox Code Playgroud)

使用IE,您可以直接execCommandTextRange对象上执行,因此不需要整个过程.