CodeMirror 编辑器文本框 TextArea 代码高亮插件

发布于 2018-09-10 10:10:54 字数 2295 浏览 5292 评论 0

CodeMirror 是一个用于编辑器文本框 TextArea 代码高亮 JavaScript 插件,为各种编程语言实现关键字、函数、变量等代码高亮显示,丰富的 API 和可扩展功能以及多个主题样式,能满足您各种项目的需求。

CodeMirror 支持大量语言的语法高亮,包括 C、C++、C#、Java、Perl、PHP、JavaScript、Python、Lua、Go、Groovy、Ruby 等,以及 diff、LaTeX、SQL、wiki、Markdown 等文件格式。此外,CodeMirror 还支持代码自动完成、搜索/替换、HTML预览、行号、选择/搜索结果高亮、可视化 Tab、Emacs/VIM 键绑定、代码自动格式等。

CodeMirror 采用 MIT 开源许可协议,目前已经被集成到各种应用程序中,如 Adobe Brackets、CoDev、Light Table 等开发环境,还被作为各种 SQL、Haxe、JavaScript 在线编辑器的基础库来使用。

CodeMirror 开发者近日发布了 3.0 版本。该版本进行了一些改进,如果你使用之前的版本,则需要注意,3.0 中的 API 与 2.0 存在一些不兼容的问题,详细信息见 升级向导。此外重要的是,3.0 放弃了对 IE7 的支持。

使用方法

本文将做简单的介绍,如何使用 CodeMirror 插件和提交表单。

引入核心文件

<link rel="stylesheet" href="lib/codemirror.css">
<script src="lib/codemirror.js"></script>

codemirror.css 和 codemirror.js 文件是 CodeMirror 插件的核心文件,无论你要高亮的代码是何种语言,都要引入这两个文件。

引入代码高亮js

接下来要引入的文件可以根据您的项目需求引入,不必要引入所有文件,比如您要显示 HTML 代码,则引入:

<script src="xml.js"></script>

代码调用

<script>
  myTextarea = document.getElementById("code");
  var editor = CodeMirror.fromTextArea(myTextarea, {
    mode: "text/html"
  });
</script>

myTextarea 为您的编辑器 Dom 元素 ID,一般使用 document.getElementById("code") 方法获取文本框,如果您使用的 jQuery,那么需要在代码后面加入 [0],比如 $('#code')[0];

获取 Codemirror 的值

//该方法得到的结果是经过转义的数据
editor.getValue();
//该方法得到的结果是未经过转义的数据
editor.toTextArea();
editor.getTextArea().value;

如果是通过 JS 进行表单提交,可以在提交的 JS 代码中这样使用:

//将 Codemirror 的内容赋值给 Textarea
$("#content").text(editor.getValue());

 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

謌踐踏愛綪

文章 0 评论 0

开始看清了

文章 0 评论 0

高速公鹿

文章 0 评论 0

alipaysp_PLnULTzf66

文章 0 评论 0

热情消退

文章 0 评论 0

白色月光

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文