html - contentEditable - execCommand 'heading' 仅适用于 Firefox

标签 html contenteditable execcommand html-heading

我有以下代码将所选文本包装在 H2 标签中。

问题是,它只能在 Firefox 中运行(尽管我还没有在 IE 中测试过)。它在 Safari 或 Chrome 中不起作用。

我是不是漏掉了什么,或者这个功能是否与所有浏览器都不兼容?

<button onclick="document.execCommand('heading',false,'h2');">heading</button>

<div class="editable" contentEditable>
    <p>Add content here...</p>
</div>

最佳答案

[注意:document.execCommand 及其功能现已得到广泛支持。]

您可能已经找到了答案,但由于我遇到过同样的问题,所以我将发布:

该功能并未得到广泛支持。 如此处所示: http://www.quirksmode.org/dom/execCommand.html#t013

看来你必须使用formatBlock:

document.execCommand('formatBlock', false, '<'+dataValue+'>');  //dataValue must be h2 in your case

关于html - contentEditable - execCommand 'heading' 仅适用于 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12602542/

相关文章:

javascript - 在 ContentEditable Div 中使用 Rangey 保存/恢复选择

javascript - 单击时切换内容可编辑

html - 定位 Facebook 评论小部件

css - 第一个 div 在上面

javascript - 简单的 html textarea/contenteditable 文本编辑器组件支持谷歌浏览器的链接、撤消、tab-in/outdent

javascript - 富文本编辑器,粗体文本使用 strong 标签

javascript - 检查选择是否包含链接

jquery - 在行上均匀拉伸(stretch) div

javascript - 更改动态生成类的悬停行为