Javascript : how to insert tags around a text selection?

标签 javascript contenteditable

我想创建一个小的 WYSIWYG HTML 文本编辑器,带有一个内容可编辑的 div。

为此,我使用 window.getSelection() 检索所选文本,当我单击按钮(粗体按钮)时,我执行一个函数以在所选文本周围添加粗体标记。

但我对添加粗体标记的 javascript 代码(没有 JQuery)一无所知。

这里是我的代码:

<input type="button" value="B" style="font-weight:bold;" onclick='add_tags("b");'>

<div id="container_contenteditable" class="container_contenteditable" contenteditable></div>

<script type="text/javascript">

function add_tags(tags)
{
    container_contenteditable = document.getElementById("container_contenteditable");

    //Retrieve the selected text :
    sel = window.getSelection();
}

</script>

最佳答案

它实际上比你想象的要简单:

function add_tags(tags)
{
    document.execCommand('bold');
}
<input type="button" value="B" style="font-weight:bold;" onclick='add_tags("b");'>

<div class="container_contenteditable" contenteditable style="border:1px solid; margin: 10px 0; height: 100px;"></div>

关于Javascript : how to insert tags around a text selection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35105219/

相关文章:

javascript - 使用 JQLite 如何在选择框中选择一个或多个项目

javascript - 关于 JQuery 插件,您有任何安全问题吗?

javascript - 为什么我的 iframe 的 contentEditable 会被重置?

javascript - CKEditor,初始化添加了insertElement的widget

javascript - 内容可编辑无检测图像

javascript - 我的输入在 React 中不起作用,onChange 看起来也不错

javascript - ajax成功后重试没有.done

javascript - Jquery - 检查页面加载时的所有复选框

html - contenteditable 中的光标在 Chrome 中无法正常运行

javascript - 更改 contentEditable div 的字体大小