值得一看
广告
彩虹云商城
广告

热门广告位

HTML5网页如何实现文本编辑器 HTML5网页富文本编辑的功能

使用contenteditable属性使HTML元素可编辑,配合JavaScript的execCommand或DOM操作实现加粗、斜体、插入图片等格式化功能;2. 通过innerHTML获取内容并用localStorage保存,支持编辑内容持久化;3. 原生方案适合简单场景,复杂需求推荐使用Quill、TinyMCE等专业编辑器库。

html5网页如何实现文本编辑器 html5网页富文本编辑的功能

HTML5 提供了原生支持富文本编辑的功能,通过 contenteditable 属性和 Document.execCommand()(已废弃但仍广泛使用)或现代的 execCommand 替代方案,可以快速实现一个基础的网页文本编辑器。

1. 使用 contenteditable 启用编辑功能

给任意 HTML 元素添加 contenteditable=”true” 属性,用户就可以直接在页面上编辑内容。


<div id=”editor” contenteditable=”true”>
  在这里输入内容…
</div>

这个 div 现在就是一个可编辑区域,支持文字输入、换行、格式粘贴等基本操作。

2. 添加常用编辑按钮(加粗、斜体、标题等)

通过 JavaScript 调用命令来格式化选中的文本。虽然 document.execCommand() 已被标记为过时,但在大多数浏览器中仍然可用。

立即学习“前端免费学习笔记(深入)”;

示例:创建工具栏按钮


<button onclick=”execCmd(‘bold’)”><b>B</b></button>
<button onclick=”execCmd(‘italic’)”><i>I</i></button>
<button onclick=”execCmd(‘underline’)”><u>U</u></button>
<button onclick=”execCmd(‘h1’)”>H1</button>

对应的 JavaScript 函数:

AI图像编辑器

AI图像编辑器

使用文本提示编辑、变换和增强照片

AI图像编辑器46

查看详情
AI图像编辑器


function execCmd(command) {
  document.execCommand(command, false, null);
}

// 设置标题可通过 insertHTML 模拟
function setHeading() {
  const selection = window.getSelection();
  if (selection.rangeCount) {
    const range = selection.getRangeAt(0);
    const heading = document.createElement(‘h1’);
    heading.appendChild(range.extractContents());
    range.insertNode(heading);
  }
}

3. 处理图片插入与对齐

插入图片可以使用 execCommand 或手动操作 DOM。

  • 插入图片: document.execCommand('insertImage', false, 'image-url.jpg');
  • 设置居中: 可通过包裹元素并设置样式实现

例如:


function insertImage(url) {
  const img = document.createElement(‘img’);
  img.src = url;
  img.style.maxWidth = ‘100%’;
  img.style.height = ‘auto’;
  document.getElementById(‘editor’).appendChild(img);
}

4. 获取和保存编辑内容

由于编辑内容在 div 内部,获取 HTML 内容只需读取 innerHTML。


function getContent() {
  return document.getElementById(‘editor’).innerHTML;
}

function saveContent() {
  localStorage.setItem(‘editorContent’, getContent());
}

加载时恢复内容:


window.onload = function() {
  const saved = localStorage.getItem(‘editorContent’);
  if (saved) {
    document.getElementById(‘editor’).innerHTML = saved;
  }
};

基本上就这些。用 contenteditable 配合 execCommand 能快速搭建一个轻量级富文本编辑器,适合简单场景。若需要更强大功能(如协作编辑、Markdown 支持、自定义插件),建议使用 QuillTinyMCESlate.js 等专业库。不过理解原生实现有助于更好地掌控编辑行为。

相关标签:

javascript java html js markdown node html5 浏览器 app JavaScript html5 html NULL if const auto JS function dom innerHTML padding border

大家都在看:

html5模板怎么用_HTML5模板下载与自定义修改方法
html5 title怎么居中_HTML5标题居中样式设置技巧
html5怎么调半透明_HTML5元素半透明效果实现方案
HTML5网页如何实现实时通信 HTML5网页WebSocket的使用教程
html5文件如何实现字体文件预览 html5文件自定义字体的加载应用
温馨提示: 本文最后更新于2025-10-24 22:39:22,某些文章具有时效性,若有错误或已失效,请在下方留言或联系在线客服
文章版权声明 1 本网站名称: 创客网
2 本站永久网址:https://new.ie310.com
1 本文采用非商业性使用-相同方式共享 4.0 国际许可协议[CC BY-NC-SA]进行授权
2 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。
3 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责!
4 本网站只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。
5 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。
6 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。
7 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。
8 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系79283999@qq.com删除。

本站资料仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容