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 YUI 读码日记之 YAHOO.util.Dom - Part.3
Mar 22 Javascript
兼容IE与firefox火狐的回车事件(js与jquery)
Oct 20 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
Feb 07 Javascript
jquery获得当前html页面源码的方法
Jul 14 Javascript
JS封装的选项卡TAB切换效果示例
Sep 20 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
Oct 26 Javascript
require、backbone等重构手机图片查看器
Nov 17 Javascript
js禁止浏览器的回退事件
Apr 20 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
Jun 25 Javascript
Vue.directive()的用法和实例详解
Mar 04 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
javascript条件式访问属性和箭头函数介绍
Nov 17 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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
php中DOMElement操作xml文档实例演示
2013/03/26 PHP
CodeIgniter使用phpcms模板引擎
2013/11/12 PHP
php教程之phpize使用方法
2014/02/12 PHP
CI框架Session.php源码分析
2014/11/03 PHP
PHP获取数组中指定的一列实例
2017/12/27 PHP
Javascript基础教程之数据类型 (数值 Number)
2015/01/18 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
分享一个精简的vue.js 图片lazyload插件实例
2017/03/13 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
详解Webpack + ES6 最新环境搭建与配置
2018/06/04 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
TypeScript类型声明书写详解
2019/08/28 Javascript
vue.js中ref及$refs的使用方法解析
2019/10/08 Javascript
python检测lvs real server状态
2014/01/22 Python
Python编写屏幕截图程序方法
2015/02/18 Python
python实现支持目录FTP上传下载文件的方法
2015/06/03 Python
python获取当前运行函数名称的方法实例代码
2017/04/06 Python
python机器学习之贝叶斯分类
2018/03/26 Python
python画折线图的程序
2018/07/26 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
Python通过Manager方式实现多个无关联进程共享数据的实现
2019/11/07 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
Python 多进程原理及实现
2020/12/21 Python
在线服装零售商:SheIn
2016/07/22 全球购物
Manuka Doctor英国官网:真正的麦卢卡蜂蜜和护肤品
2018/10/26 全球购物
时尚孕妇装:HATCH Collection
2019/09/24 全球购物
SQL Server数据库笔试题和答案
2016/02/04 面试题
2014年国庆节庆祝建国65周年比赛演讲稿
2014/09/21 职场文书
文化苦旅读书笔记
2015/06/29 职场文书
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python