利用execCommand实现简易富文本编辑器

作者:阿沐

时间:2026-10-29

浏览:652

本文介绍如何使用HTML5的contenteditable属性结合JavaScript的execCommand方法,快速构建一个具备字体颜色、样式和字体名称设置功能的简易富文本编辑器。

文章目录

实现代码

实现代码如下:

 
<span style="font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>富文本编辑器</title>
</head>
<body>
<fieldset>
<legend>编辑区</legend>
<div>
<form>
字体颜色:
<select onchange="setFontColor(this)">
<option value="black">Black </option>
<option value="red">Red </option>
<option value="green">Green </option>
<option value="blue">Blue </option>
</select>
字体样式:
<select onchange="setFontStyle(this)">
<option value="bold">Bold </option>
<option value="italic">Italic </option>
<option value="underline">Underline </option>
<option value="striketthrough">StriketThrough </option>
</select>
字体名称:
<select onchange="setFontFamily(this)">
<option value="serif">Serif </option>
<option value="sans-serif">Sans-serif </option>
<option value="monospace">Monospace </option>
<option value="comic sans ms">Comic Sans </option>
</select>
</form>
</div>
<br/>
<div id="editableText" contenteditable="true" style="width:400px;min-height:100px;border:2px dashed #ccc"></div>
</fieldset>
<script type="text/javascript">
function setFontColor(obj)
{ 
document.execCommand("forecolor",false,obj.value);
} 
function setFontStyle(obj)
{ 
document.execCommand(obj.value,false,null);
} 
function setFontFamily(obj)
{ 
document.execCommand("fontname",false,obj.value);
} 
</script>
</body>
</html></span>

在线演示地址:http://jsfiddle.net/Web_Code/nPNv3/embedded/result/ 如有不足之处欢迎指正。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章