我正在尝试使用 iframe(在设计模式中)作为富文本编辑器。
<iframe name="richTextField" id="richTextField" class="rte"></iframe>
我还有一个按钮,它可以通过调用 javascript 函数 iBold 来加粗/取消加粗 iframe 中的文本。
<a href="javascript:iBold()" type="button" value="bold"><img src="/images/bold.gif" id="boldButton"/></a>
function iBold()
{
richTextField.document.execCommand('bold');
console.log(window.frames['richTextField'].document.body.innerHTML);
}
粗体按钮适用于大多数情况,但有一种情况它不起作用(在 IE11 中)。如果我选择(突出显示)iframe 中的一小部分文本,我可以将其加粗,也可以使用加粗按钮将其取消加粗,但是如果我选择 iframe 中的所有文本,我可以将其加粗,但我永远无法取消加粗。在那之后,文本永远是粗体;无论我选择/突出显示什么,execCommand 都不会取消任何内容。注意:它当然在 Firefox 中运行良好。
最佳答案
这不是真正的最佳解决方案,但至少可以使用以下解决方案。
if(isIE11) {
isBolded = yourDocumentHere.queryCommandValue('bold');
if(isBolded) {
yourDocumentHere.execCommand('removeFormat', false)
}
}
关于javascript - document.execCommand 不会在 IE11 中取消加粗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512863/