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 相关文章推荐
dojo 之基础篇
Mar 24 Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
Oct 29 Javascript
bootstrap模态框实现拖拽效果
Dec 14 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
Dec 27 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
借助node实战JSONP跨域实例
Mar 30 Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
Oct 31 Javascript
微信小程序实现留言板(Storage)
Nov 02 Javascript
Vue中this.$nextTick的作用及用法
Feb 04 Javascript
何时/使用 Vue3 render 函数的教程详解
Jul 25 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项目打包方法
2008/02/18 PHP
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
js 图片轮播(5张图片)
2008/12/30 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
jqPlot jQuery绘图插件的使用
2016/06/18 Javascript
简单实现jQuery级联菜单
2017/01/09 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
微信端调取相册和摄像头功能,实现图片上传,并上传到服务器
2019/05/16 Javascript
express启用https使用小记
2019/05/21 Javascript
javascript操作元素的常见方法小结
2019/11/13 Javascript
JS实现分页导航效果
2020/02/19 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
Python内置函数 next的具体使用方法
2017/11/24 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
利用Python优雅的登录校园网
2020/10/21 Python
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
将"引用"作为函数返回值类型的格式、好处和需要遵守的规则
2016/02/09 面试题
值传递还是引用传递
2015/02/08 面试题
跟单文员的岗位职责
2013/11/14 职场文书
超市开学活动方案
2014/03/01 职场文书
建筑工程质量通病防治方案
2014/06/08 职场文书
推普周活动总结
2014/08/28 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
企业委托书范本
2014/09/13 职场文书
党支部党的群众路线对照检查材料
2014/09/24 职场文书
小学生交通安全寄语
2015/02/27 职场文书
2015年教师国培感言
2015/08/01 职场文书
小学班主任心得体会
2016/01/07 职场文书
PostgreSQL之连接失败的问题及解决
2023/05/08 PostgreSQL