簡體   English   中英

IE11中不會取消document.execCommand的粗體顯示

[英]document.execCommand won't unbold in IE11

我試圖將iframe(在designMode中)用作富文本編輯器。

<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)
 }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM