当前位置:首页 > JavaScript

js实现编辑

2026-02-01 10:45:25JavaScript

JavaScript 实现文本编辑功能

使用 contenteditable 属性可以让 HTML 元素变为可编辑状态。以下是一个简单的实现示例:

<div id="editor" contenteditable="true">点击这里开始编辑</div>

获取和设置编辑内容

通过 JavaScript 可以轻松获取和设置可编辑区域的内容:

const editor = document.getElementById('editor');

// 获取内容
const content = editor.innerHTML;

// 设置内容
editor.innerHTML = '<strong>新内容</strong>';

实现富文本编辑功能

使用 document.execCommand 可以实现基本的富文本编辑功能,虽然这个 API 已废弃,但在许多浏览器中仍然可用:

function formatText(command, value = null) {
    document.execCommand(command, false, value);
}

现代替代方案

推荐使用更现代的库如 ProseMirrorTiptap 来实现富文本编辑:

import { Editor } from 'tiptap';

new Editor({
    element: document.getElementById('editor'),
    content: '<p>初始内容</p>',
});

处理编辑事件

监听输入事件可以实时获取编辑内容:

editor.addEventListener('input', (e) => {
    console.log('内容已更改:', e.target.innerHTML);
});

保存编辑内容

可以将编辑内容保存到本地存储或发送到服务器:

function saveContent() {
    localStorage.setItem('editorContent', editor.innerHTML);
    // 或使用 fetch 发送到服务器
}

实现撤销/重做功能

维护一个编辑历史数组可以实现简单的撤销功能:

let history = [];
let historyIndex = -1;

editor.addEventListener('input', () => {
    history = history.slice(0, historyIndex + 1);
    history.push(editor.innerHTML);
    historyIndex++;
});

function undo() {
    if (historyIndex > 0) {
        historyIndex--;
        editor.innerHTML = history[historyIndex];
    }
}

js实现编辑

标签: 编辑js
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

js实现pdf在线预览

js实现pdf在线预览

使用PDF.js实现PDF在线预览 PDF.js是由Mozilla开发的一个开源JavaScript库,可以在网页中直接渲染PDF文件。以下是实现PDF在线预览的步骤: 引入PDF.js库 在HT…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化…