javascript - document.execCommand 不会在 IE11 中取消加粗

标签 javascript html internet-explorer-11 wysiwyg

我正在尝试使用 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 中运行良好。

http://jsbin.com/hiwetumobo/1/edit?html,js,output

最佳答案

这不是真正的最佳解决方案,但至少可以使用以下解决方案。

if(isIE11) {
 isBolded = yourDocumentHere.queryCommandValue('bold');
 if(isBolded) {
   yourDocumentHere.execCommand('removeFormat', false)
 }
}

关于javascript - document.execCommand 不会在 IE11 中取消加粗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512863/

相关文章:

javascript - 类型错误 : render is not a function updateContextConsumer

html - @fontface 在黑莓操作系统 7 上

javascript - 如何检查对象属性的任何值是否等于 0?

JavaScript 表单验证无法完全正常工作

javascript - 使用 wordpress 悬停时显示/隐藏图像缩略图标签

html - 全高 "sidebars"主要内容

html - 当其他元素获得焦点时输入失去焦点

css - 使用 typescript 应用 css 网格样式在 IE 中不起作用。浏览器

html - CSS 形式 :valid selector doesn't work in IE11

javascript - IE11 和 JavaScript array.map()