2014-02-13 96 views

回答

1

我找到解决办法:

https://groups.google.com/forum/#!topic/mozilla.dev.tech.dom/dQK0ioISIPM

这是很简单的解决方法。我有一个应该突出显示的范围,以及突出显示的范围内应该加粗的多个范围。首先,我必须处理粗体文本,因为如果我使用“document.execCommand(”BackColor“,false,color)高亮文本;”在此之前,它会以某种方式摧毁我的“大胆的范围”。

所以解决办法是更换或包裹的“大胆范围”文本内容与元素是这样的:

if (boldRange) { 
    boldRange.deleteContents(); 
    var newContents = document.createElement('b'); 
    newContents.textContent = 'text that would be bolded'; 
    boldRange.insertNode(newContents) 
} 

例如,它是如何工作的证明这里:

http://jsfiddle.net/8mdX4/733/