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 相关文章推荐
让图片旋转任意角度及JQuery插件使用介绍
Mar 20 Javascript
chrome下img加载对height()的影响示例探讨
May 26 Javascript
javascript实现checkbox全选的代码
Apr 30 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
JS二分查找算法详解
Nov 01 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
jquery实现搜索框功能实例详解
Jul 23 jQuery
深入浅出了解Node.js Streams
May 27 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
javascript实现贪吃蛇小练习
Jul 05 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
基于p5.js 2D图像接口的扩展(交互实现)
Nov 30 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
Terran兵种对照表
2020/03/14 星际争霸
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
PHP验证信用卡卡号是否正确函数
2015/05/27 PHP
使用prototype.js 的时候应该特别注意的几个问题.
2007/04/12 Javascript
jQuery 学习 几种常用方法
2009/06/11 Javascript
jquery遍历checkbox的注意事项说明
2014/02/21 Javascript
深入剖析JavaScript中的枚举功能
2014/03/06 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
js实现下拉框效果(select)
2017/03/28 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
详解Vue组件插槽的使用以及调用组件内的方法
2018/11/13 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
JavaScript实现拖拽效果
2020/03/16 Javascript
使用Python编写爬虫的基本模块及框架使用指南
2016/01/20 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
2020/05/12 Python
关于tf.matmul() 和tf.multiply() 的区别说明
2020/06/18 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
业务员岗位职责
2013/11/16 职场文书
医药个人求职信范文
2014/01/29 职场文书
网聊搭讪开场白
2015/05/28 职场文书
志愿服务心得体会
2016/01/15 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书
悬疑名作《朋友游戏》动画无字ED宣传片 新角色公开
2022/04/13 日漫