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 相关文章推荐
Firefox和IE浏览器兼容JS脚本写法小结
Jul 07 Javascript
基于jQuery的日期选择控件
Oct 27 Javascript
如何让页面加载完成后执行js
Jun 26 Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 Javascript
基于MVC4+EasyUI的Web开发框架形成之旅之界面控件的使用
Dec 16 Javascript
js判断数组是否包含某个字符串变量的实例
Nov 24 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 Javascript
微信小程序中使用wxss加载图片并实现动画效果
Aug 13 Javascript
Vue模拟数据,实现路由进入商品详情页面的示例
Aug 31 Javascript
对layui中的onevent 和event的使用详解
Sep 06 Javascript
vue 路由懒加载中给 Webpack Chunks 命名的方法
Apr 24 Javascript
Vue中computed和watch有哪些区别
Dec 19 Vue.js
微信小程序 图片边框解决方法
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
漫荒推荐:画风超赞的国风漫画推荐 超长假期不无聊
2020/03/08 国漫
在PHP中使用redis
2013/11/04 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
php的curl封装类用法实例
2014/11/07 PHP
Laravel框架源码解析之模型Model原理与用法解析
2020/05/14 PHP
传智播客学习之java 反射
2009/11/22 Javascript
JQuery跨Iframe选择实现代码
2010/08/19 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
Js实现无刷新删除内容
2015/04/29 Javascript
原生js实现图片轮播特效
2015/12/18 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
javascript 跨域问题以及解决办法
2017/07/17 Javascript
Vue项目中引入外部文件的方法(css、js、less)
2017/07/24 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
vue+swiper实现组件化开发的实例代码
2017/10/26 Javascript
React Native开发封装Toast与加载Loading组件示例
2018/09/08 Javascript
JavaScript生成随机验证码代码实例
2019/09/28 Javascript
Openlayers实现扩散的动态点(水纹效果)
2020/08/17 Javascript
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
python里对list中的整数求平均并排序
2014/09/12 Python
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
python 调用HBase的简单实例
2016/12/18 Python
python使用tornado实现登录和登出
2018/07/28 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
美国奢侈品购物平台:Orchard Mile
2018/05/02 全球购物
公司授权委托书
2014/04/04 职场文书
春节请假条
2014/04/11 职场文书
国家助学金感谢信
2015/01/21 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
angular异步验证器防抖实例详解
2022/03/31 Javascript
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server