我用DIV作HTML编辑器,是将DIV 的contentEditable="true",然后改变文本样式采用execCommand在选中文本的情况,改变文本样式(比如:变粗,斜体,颜色)均没有问题,但是如果在没有选中任何文本的情况下(即:将光标置在DIV内)然后执行execCommand,再在光标位置输入内容,没有任何变化我想应该是焦点的问题 var textSelection = document.selection.createRange();
textSelection.execCommand('Bold');
textSelection.execCommand('Bold');
真的搞不定,也只有用第三方HTML编辑器啦!
还是希望有人能帮帮忙!
range.moveToElementText(document.getElementById("div1"))
div1就是那个div的ID我这段时间也在设计编辑器,可以加我Q515021775,咱们交流一下呗
var textSelection = document.selection.createRange();
textSelection.moveToElementText(document.getElementById("div1"));
textSelection.execCommand('Bold');
试了wpf1523提供的代码,确实能起到在未选中文本的时候,改变文本样式,但这样一执行,整个DIV内的所有文字都变了,我想实现的类似WORD功能,选中的文本改变样式,或在没有选中文本时,执行样式,然后输入内容,内容就能应用样式!比如:AAAA,BBBB,CCCC
第一种情况:当然选中AAAA时,然后执行BOLD,则AAAA变粗体,其它文本不变!
第二种情况:我将光标放在CCCC的最末尾,然后执行BOLD,再输入文本,文本变成粗体!
分给你了!