分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

用纯js实现一个文本编辑器

发布时间:2023-09-06 02:32责任编辑:彭小芳关键词:js
  1. 效果图

  2. 代码

<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<meta name="viewport" content="width=device-width, initial-scale=1.0"> ???<meta http-equiv="X-UA-Compatible" content="ie=edge"> ???<title>Document</title> ???<style> ???????.editButtons span{ ???????????display:inline-block; ???????????white-space:nowrap; ???????} ???????[data-edit] { ???????????float:left; ???????????border:0; ???????????font: 12px/1 monospace; ???????????background:#ddd; ???????????padding:4px 8px; ???????} ???????[contenteditable] { ???????????padding:4px 16px; ???????????background:#eee; ???????} ???</style></head><body> ???<div class="editButtons"> ???????<span title="STYLES"> ???????????<!-- 加粗 --> ???????????<button data-edit="bold"><b>B</b></button> ???????????<!-- 斜体 --> ???????????<button data-edit="italic"><i>I</i></button> ???????????<!-- 下划线 --> ???????????<button data-edit="underline"><u>U</u></button> ???????????<!-- 中划线 --> ???????????<button data-edit="strikeThrough"><s>S</s></button> ???????</span> ???????<span title="TEXT FORMAT"> ???????????<!-- 字体标签设置 --> ???????????<button data-edit="formatBlock:p">P</button> ???????????<button data-edit="formatBlock:H1">H1</button> ???????????<button data-edit="formatBlock:H2">H2</button> ???????????<button data-edit="formatBlock:H3">H3</button> ???????</span> ???????<span title="FONT SIZE"> ???????????<!-- 字体大小设置 --> ???????????<button data-edit="fontSize:1">s</button> ???????????<button data-edit="fontSize:3">M</button> ???????????<button data-edit="fontSize:5">L</button> ???????</span> ???????<span title="LISTS"> ???????????<!-- 列表格式设置 --> ???????????<button data-edit="insertUnorderedList">UL</button> ???????????<button data-edit="insertOrderedList">OL</button> ???????</span> ???????<span title="ALIGNMENT"> ???????????<!-- 文本对齐设置 --> ???????????<button data-edit="justifyLeft">&#8676;</button> ???????????<button data-edit="justifyCenter">&#8596;</button> ???????????<button data-edit="justifyRight">&#8677;</button> ???????</span> ???????<span title="CLEAR FORMATTING"> ???????????<!-- 清除文本 --> ???????????<button data-edit="removeFormat">&times;</button> ???????</span> ???????<span title="COPY"> ???????????<!-- 复制选中文本 --> ???????????<button data-edit="copy">C</button> ???????</span> ???</div> ???<div contenteditable id="textbox"> ???????<p>文本编辑器</p> ???</div></body><script> ???document.querySelectorAll("[data-edit]").forEach(btn => ???????btn.addEventListener("click", function (ev) { ???????????ev.preventDefault(); ???????????console.log(this.getAttribute("data-edit")) ???????????const cmd_val = this.getAttribute("data-edit").split(":"); ???????????if(cmd_val[0] == ‘copy‘){ // 复制选中的文本 ???????????????document.execCommand(cmd_val[0]); ???????????}else{ ???????????????document.execCommand(cmd_val[0], false, cmd_val[1]); ???????????} ???????????????????}) ???); ???</script></html>

用纯js实现一个文本编辑器

原文地址:https://www.cnblogs.com/ye-hcj/p/10351721.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved