1
問題在於execCommand,即使在IE10中也沒有正確執行。 例如, 當我點擊粗體並繼續打字時,在IE中它不會使字母變爲粗體,我必須選擇文本並單擊粗體以使粗體顯示。在所有其他瀏覽器中,當我點擊粗體按鈕並繼續輸入時,它將使字母變爲粗體。execCommand在ie中不能正常工作
這裏是的jsfiddle http://jsfiddle.net/Q65Qt/
下面是代碼
var oDoc, sDefTxt;
function initDoc() {
oDoc = document.getElementById("textBox");
sDefTxt = oDoc.innerHTML;
if (document.compForm.switchMode.checked) {
setDocMode(true);
}
}
function formatDoc(sCmd, sValue) {
if (validateMode()) {
document.execCommand(sCmd, false, null);
oDoc.focus();
}
}
function validateMode() {
if (!document.compForm.switchMode.checked) {
return true;
}
alert("Uncheck \"Show HTML\".");
return false;
}
function setDocMode(bToSource) {
var oContent;
if (bToSource) {
oContent = document.createTextNode(oDoc.innerHTML);
oDoc.innerHTML = "";
var oPre = document.createElement("pre");
oDoc.contentEditable = false;
oPre.id = "sourceText";
oPre.contentEditable = true;
oPre.appendChild(oContent);
oDoc.appendChild(oPre);
} else {
if (document.all) {
oDoc.innerHTML = oDoc.innerText;
} else {
oContent = document.createRange();
oContent.selectNodeContents(oDoc.firstChild);
oDoc.innerHTML = oContent.toString();
}
oDoc.contentEditable = true;
}
oDoc.focus();
}
下面是的jsfiddle http://jsfiddle.net/Q65Qt/
請幫助用鏈路,提前