2014-02-13 137 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/