我已经在此处做了一些示例:[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)
}
例如,它是如何工作的证明这里: