当前位置:首页 > JavaScript

js实现编辑

2026-04-06 03:29:31JavaScript

使用 JavaScript 实现编辑功能

基础文本编辑

通过 contenteditable 属性实现简单的文本编辑功能:

<div id="editable" contenteditable="true">点击编辑文本</div>

监听内容变化:

document.getElementById('editable').addEventListener('input', function(e) {
    console.log('新内容:', e.target.innerHTML);
});

表单输入编辑

创建可编辑的表单输入框:

<input type="text" id="textInput" value="可编辑文本">
<button id="saveBtn">保存</button>

处理编辑和保存:

document.getElementById('saveBtn').addEventListener('click', function() {
    const newValue = document.getElementById('textInput').value;
    console.log('保存的内容:', newValue);
});

富文本编辑器实现

使用 document.execCommand 实现基本富文本功能:

<div id="editor" contenteditable="true"></div>
<button onclick="formatText('bold')">加粗</button>
<button onclick="formatText('italic')">斜体</button>

实现格式化函数:

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

使用第三方库

引入 CKEditor 等专业编辑器库:

<script src="https://cdn.ckeditor.com/ckeditor5/36.0.1/classic/ckeditor.js"></script>
<textarea id="editor"></textarea>

初始化编辑器:

ClassicEditor
    .create(document.querySelector('#editor'))
    .catch(error => {
        console.error(error);
    });

实现撤销/重做功能

维护编辑历史记录:

const editor = document.getElementById('editable');
let history = [];
let historyIndex = -1;

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

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

function redo() {
    if (historyIndex < history.length - 1) {
        historyIndex++;
        editor.innerHTML = history[historyIndex];
    }
}

保存编辑内容

将编辑内容保存到本地存储:

js实现编辑

function saveContent() {
    const content = document.getElementById('editable').innerHTML;
    localStorage.setItem('savedContent', content);
}

function loadContent() {
    const saved = localStorage.getItem('savedContent');
    if (saved) {
        document.getElementById('editable').innerHTML = saved;
    }
}

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

相关文章

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js 实现vue

js 实现vue

Vue.js 的基本实现 在 JavaScript 中实现 Vue.js 的核心功能,可以通过数据绑定、响应式系统和虚拟 DOM 来实现。以下是实现 Vue.js 核心功能的简化版本。 数据响应式系…

js实现列表

js实现列表

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

js实现pdf在线预览

js实现pdf在线预览

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

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…