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 相关文章推荐
收集的网上用的ajax之chat.js文件
Apr 08 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
js实现通用的微信分享组件示例
Mar 10 Javascript
移动设备web开发首选框架:zeptojs介绍
Jan 29 Javascript
浅谈javascript语法和定时函数
May 03 Javascript
javascript中json对象json数组json字符串互转及取值方法
Apr 19 Javascript
完美解决浏览器跨域的几种方法(汇总)
May 08 Javascript
Angular实现下拉框模糊查询功能示例
Jan 03 Javascript
vue自定义底部导航栏Tabbar的实现代码
Sep 03 Javascript
使用react render props实现倒计时的示例代码
Dec 06 Javascript
vue过滤器实现日期格式化的案例分析
Jul 02 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 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
Thinkphp搜索时首页分页和搜索页保持条件分页的方法
2014/12/05 PHP
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
javascript 特性检测并非浏览器检测
2010/01/15 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
node.js中使用node-schedule实现定时任务实例
2014/06/03 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
Javascript 基础---Ajax入门必看
2016/07/06 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Bootstrap的fileinput插件实现多文件上传的方法
2016/09/05 Javascript
jQuery查找节点并获取节点属性的方法
2016/09/09 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
最全正则表达式总结:验证QQ号、手机号、Email、中文、邮编、身份证、IP地址等
2017/08/16 Javascript
vuex的简单使用教程
2018/02/02 Javascript
Vue 获取数组键名的方法
2018/06/21 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
详解Vue中的自定义指令
2020/12/07 Vue.js
python图像处理之反色实现方法
2015/05/30 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
python3中确保枚举值代码分析
2020/12/02 Python
CSS3教程:新增加的结构伪类
2009/04/02 HTML / CSS
软件配置管理有什么好处
2015/04/15 面试题
Jdbc数据访问技术面试题
2012/03/30 面试题
部队领导证婚词
2014/01/12 职场文书
初中体育教学反思
2014/01/14 职场文书
党建工作经验交流材料
2014/05/25 职场文书
2015年公司国庆放假通知
2015/07/30 职场文书
医务人员医德医风心得体会
2016/01/25 职场文书
java基础——多线程
2021/07/03 Java/Android
JavaScript圣杯布局与双飞翼布局实现案例详解
2022/08/05 Javascript