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获取form表单值的代码
Jul 17 Javascript
深入理解Javascript闭包 新手版
Dec 28 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
director.js实现前端路由使用实例
Feb 03 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
Dec 12 Javascript
JQuery 获取多个select标签option的text内容(实例)
Sep 07 jQuery
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
element ui 对话框el-dialog关闭事件详解
Feb 26 Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 Javascript
Vue动态路由缓存不相互影响的解决办法
Feb 19 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
Apr 09 Javascript
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 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
Zerg建筑一览
2020/03/14 星际争霸
PHP 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
php curl选项列表(超详细)
2013/07/01 PHP
PHP实现的简单组词算法示例
2018/04/10 PHP
javascript 自动转到命名锚记
2009/01/10 Javascript
jquery特效 幻灯片效果示例代码
2013/07/16 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
javascript中checkbox使用方法简单实例演示
2015/11/17 Javascript
jQuery模拟物体自由落体运动(附演示与demo源码下载)
2016/01/21 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
2017/09/23 jQuery
js数组常用最重要的方法
2018/02/04 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
Vue学习之组件用法实例详解
2020/01/06 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
python数据结构之链表的实例讲解
2017/07/25 Python
Python实现字符串与数组相互转换功能示例
2017/09/22 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
Softmax函数原理及Python实现过程解析
2020/05/22 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
python反扒机制的5种解决方法
2021/02/06 Python
网络工程专业毕业生推荐信
2013/10/28 职场文书
护理医院见习报告
2014/11/03 职场文书
谢师宴答谢词
2015/01/05 职场文书
南京导游词
2015/02/03 职场文书
青岛导游词
2015/02/12 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
党员反邪教心得体会
2016/01/15 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python