HTML属性contenteditable提供了一种将HTML元素变成用户可编辑区域的简单方法
<div contenteditable>You can <b>edit</b> me!</div>
本机富文本编辑
使用JavaScript和execCommandW3C,您还可以将更多的编辑功能传递给当前关注的contenteditable元素(特别是在插入符号位置或选择处)。
该execCommand函数方法接受3个参数
document.execCommand(commandId, showUI, value)
commandId串。从可用的** commandId **列表中
(请参阅:参数→commandId)
showUI布尔值(未实现。请使用false)
valueString如果命令需要与命令相关的String值,则为""。
(请参阅:参数→值)
使用实施例的"bold" 命令和"formatBlock"(其中一个值是预期的):
document.execCommand("bold", false, ""); // 将所选文字设为粗体 document.execCommand("formatBlock", false, "H2"); // Make selected text Block-level <h2>
快速入门示例:
<button data-edit="bold"><b>B</b></button> <button data-edit="italic"><i>I</i></button> <button data-edit="formatBlock:p">P</button> <button data-edit="formatBlock:H1">H1</button> <button data-edit="insertUnorderedList">UL</button> <button data-edit="justifyLeft">⇤</button> <button data-edit="justifyRight">⇥</button> <button data-edit="removeFormat">×</button> <div contenteditable><p>Edit me!</p></div> <script> [].forEach.call(document.querySelectorAll("[data-edit]"), function(btn) { btn.addEventListener("click", edit, false); }); function edit(event) { event.preventDefault(); var cmd_val = this.dataset.edit.split(":"); document.execCommand(cmd_val[0], false, cmd_val[1]); } <script>
jsFiddle演示
Basic Rich-Text编辑器示例(现代浏览器)
最终想法
即使存在很长时间(IE6),execCommand不同浏览器的实现和行为也各不相同,这对于任何有经验的JavaScript开发人员来说,“构建功能齐全且跨浏览器兼容的所见即所得编辑器”都是一项艰巨的任务。
即使尚未完全标准化,您也可以在新的浏览器(例如Chrome,Firefox,Edge)上看到相当不错的结果。如果您需要对其他浏览器的更好支持以及诸如HTMLTable编辑之类的更多功能,经验法则是寻找一个已经存在且健壮的Rich-Text编辑器。
问题 你想在 CoffeeScript 中嵌入找到的或预先编写的 JavaScript 代码。 解决方案 把 JavaScript 包装到撇号中: `function greet(name) { return "Hello "+name; }` # Back to CoffeeScript greet "Coffee" # => "Hello Coffee" 讨论 这是在 CoffeeScrip
JavaScript ( JS ) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。
JavaScript 是一种轻量级的解释型编程语言。它旨在创建以网络为中心的应用程序。 它与 Java 互补并集成在一起。
本文改编自 A JavaScript Primer For Meteor 概述 本文以介绍 JavaScript 为主,初学者掌握本文的内容后,将能够对 JavaScript 有大体了解,并且满足 Cocos Creator 的开发需求。 JavaScript是一门充满争议的编程语言:它以 Java 命名,但实际上和 Java 毫无关系。JavaScript 的创造 只用了 10 天时间,但在20
本文向大家介绍javascript学习之json入门,包括了javascript学习之json入门的使用技巧和注意事项,需要的朋友参考一下 1. 什么是JSON JSON---Javascript Object Notation,前两个单词大家应该都认识,最后一个notation,是“记号、标记法”的意思,连在一起,便成了JSON。 它是一种轻量级的数据交换格式,是基于Javascript的一个子
本文向大家介绍JavaScript之Vue.js【入门基础】,包括了JavaScript之Vue.js【入门基础】的使用技巧和注意事项,需要的朋友参考一下 本篇将简单介绍一下Vue.js,并在Node.js环境下搭建一个简单的Demo。 一、简介 我个人理解,Vue.js是一套前端视图层的框架,它只关心视图展示和数据绑定,它的一些语法与Angular 1非常相似,如果有Angular 1相关的使用