codeMirror插件使用讲解


Posted in Javascript onJanuary 16, 2017

codeMirror是一款十分强大的代码编辑插件,提供了十分丰富的API,最近在项目中用到了这款插件,于是在这里给大家分享下使用方法和心得:

codeMirror调用非常方便

首先在页面中载入插件CSS及JS文件

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

同时加载你所需要使用的脚本JS及风格样式CSS文件,如下举例:

<link href="/static/codemirror/theme/3024-night.css" rel="stylesheet">
 <link href="/static/codemirror/theme/erlang-dark.css" rel="stylesheet">
 <script src="/static/codemirror/mode/shell/shell.js"></script>
 <script src="/static/codemirror/mode/perl/perl.js"></script>
 <script src="/static/codemirror/mode/python/python.js"></script>

注意文件的放置位置

下一步在html页面中编写好代码:

<!--选择脚本编码代码-->
<div class="controls">
  <input class="ck-code" type="radio" name="script_once_type" id="script_once_type1" checked> shell
   <input class="ck-code" type="radio" name="script_once_type" id="script_once_type2"> bat
   <input class="ck-code" type="radio" name="script_once_type" id="script_once_type3"> python
</div>
<!--选择脚本风格代码-->
<div class="controls">
  <select id='select'>
     <option>default</option>
     <option>3024-night</option>
     <option selected>erlang-dark</option>
  </select>
</div>
<!--textarea-->
<textarea id="script_once_code">
  #!/bin/sh
</textarea>
<textarea id="code2" class="hide">
  #!/usr/bin/env python
  # -*- coding: utf8 -*-
</textarea>

调用关键代码如下:

var editor = CodeMirror.fromTextArea($("#script_once_code")[0], { //script_once_code为你的textarea的ID号
     lineNumbers: true,//是否显示行号
     mode:"shell", //默认脚本编码
     lineWrapping:true, //是否强制换行
 });

JS配置代码如下:

//选择界面风格JS
$('#select').change(function(){
   var theme = $('#select').val();
     editor.setOption("theme", theme); //editor.setOption()为codeMirror提供的设置风格的方法
 });
//选择脚本类型JS
var txt1=$("#script_once_code").val();
var txt2='';
var txt3=$("#code2").val();
$(".ck-code").click(function(){
    var txt=editor.getValue(); //editor.getValue()获取textarea中的值
    var lang=$(this).prop("id");
    if(lang=="script_once_type1") {
        editor.setOption("mode","shell");//editor.setOption()设置脚本类型
          editor.setValue(txt1);// editor.setValue()设置textarea中的值
    }
    else if(lang=="script_once_type2") {
        editor.setOption("mode","perl");
        editor.setValue(txt2);
    }
    else {
        editor.setOption("mode","python");
        editor.setValue(txt3);
    }
});

最终界面如下:

codeMirror插件使用讲解

如需配置更多参数,可以访问codeMirror插件官网:http://codemirror.net/ 查看其配置文档。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
JavaScript DOM 添加事件
Feb 14 Javascript
js 获取子节点函数 (兼容FF与IE)
Apr 18 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
Feb 22 Javascript
jquery弹出框的用法示例(一)
Aug 26 Javascript
JS获取节点的兄弟,父级,子级元素的方法
Jan 09 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
jquery实现图片左右切换的方法
May 07 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
Aug 11 Javascript
利用js的闭包原理做对象封装及调用方法
Apr 07 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
Jan 17 Javascript
JavaScript使用math.js进行精确计算操作示例
Jun 19 Javascript
微信小程序 图片边框解决方法
Jan 16 #Javascript
微信小程序 scroll-view隐藏滚动条详解
Jan 16 #Javascript
微信小程序 video详解及简单实例
Jan 16 #Javascript
Vue系列:通过vue-router如何传递参数示例
Jan 16 #Javascript
微信小程序 登录实例详解
Jan 16 #Javascript
微信小程序 传值取值的几种方法总结
Jan 16 #Javascript
详解vue-Resource(与后端数据交互)
Jan 16 #Javascript
You might like
php日历制作代码分享
2014/01/20 PHP
PHP实现的博客欢迎提示功能(很特别哦)
2014/06/05 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
php将图片文件转换成二进制输出的方法
2015/06/10 PHP
10个超级有用的PHP代码片段果断收藏
2015/09/23 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
使用jscript实现二进制读写脚本代码
2008/06/09 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
js分页代码分享
2014/04/28 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
2016/07/07 Javascript
vue2 全局变量的设置方法
2018/03/09 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
python list 合并连接字符串的方法
2013/03/09 Python
Python Xml文件添加字节属性的方法
2018/03/31 Python
通过自学python能找到工作吗
2020/06/21 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
幼师自荐信范文
2013/10/06 职场文书
质量承诺书怎么写
2014/05/24 职场文书
优秀班组长事迹
2014/05/31 职场文书
党员自我剖析材料范文
2014/10/06 职场文书
民主评议党员总结
2014/10/20 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
2015年幼儿园卫生保健工作总结
2015/05/12 职场文书
商业计划书范文
2019/04/24 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL