为什么execCommand('bold')什么都不做?

时间:2018-12-19 01:04:43

标签: javascript jquery html wysiwyg

我正在尝试制作一个简单的WYSIWYG编辑器,但是在使文本加粗时遇到了麻烦。我可以用document.execCommand("underline", false, null);加上下划线,并用document.execCommand("italic", false, null);加上斜体,但是document.execCommand("bold", false, null);什么也没做。

我检查了html输出,它也没有在文本中添加任何<b><strong>标签。

这是HTML:

<button id="underline" type="button">Underline</button>
<button id="italic" type="button">Italic</button>
<button id="bold" type="button">Bold</button>
<div id="editor" contenteditable="true" spellcheck="false"></div>

这是jQuery:

$('#underline').click(function() {
   document.execCommand("underline", false, null);
});

$('#italic').click(function() {
   document.execCommand("italic", false, null);
});

$('#bold').click(function() {
   document.execCommand("bold", false, null);
});

1 个答案:

答案 0 :(得分:1)

据我所知,这是可行的。看看这个小提琴:http://jsfiddle.net/om78patL/

$('#underline').click(function() {
   document.execCommand("underline", false, null);
});

$('#italic').click(function() {
   document.execCommand("italic", false, null);
});

$('#bold').click(function() {
   document.execCommand("bold", false, null);
});

<button id="underline" type="button">Underline</button>
<button id="italic" type="button">Italic</button>
<button id="bold" type="button">Bold</button>
<div id="editor" contenteditable="true" spellcheck="false">test</div>