我已經在此處做了一些示例:[http://jsfiddle.net/8mdX4/731/]
但它並不強調所有選定的文本。它應該突出顯示文本「m ipsum dolor sit ame」,並在突出顯示的文本內部加粗文本「um dolor si」,但文本「mips」將保持不突出顯示。使用JavaScript突出顯示文本並在突出顯示的部分內製作粗體文本
有沒有任何選擇如何解決這個問題或做一些解決方法?在這個線程
我已經在此處做了一些示例:[http://jsfiddle.net/8mdX4/731/]
但它並不強調所有選定的文本。它應該突出顯示文本「m ipsum dolor sit ame」,並在突出顯示的文本內部加粗文本「um dolor si」,但文本「mips」將保持不突出顯示。使用JavaScript突出顯示文本並在突出顯示的部分內製作粗體文本
有沒有任何選擇如何解決這個問題或做一些解決方法?在這個線程
我找到解決辦法:
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)
}
例如,它是如何工作的證明這裏: