JavaScript建立一个语法高亮输入框实现思路


Posted in Javascript onFebruary 26, 2013

textarea元素已被广泛用于网页Web的IDE。通常网站自带的textarea编辑器不能满足我们的需求,作为一名开发者我们经常需要进行代码的在线编辑,高亮显示代码等,因此,通过其他的开源项目,我们可以添加一些实用的功能, 在这篇文章中,我将使用JavaScript库ACE来创建一个输入框效果。这是一个完全开源的脚本。该脚本允许开发人员创建支持语法高亮的输入框。然后你可以代码嵌入到网站中的任何地方
下载库 首先我们需要Github上下载ACE代码。 下载完成后解压缩,在你的header部分引入js文件

<script src="src-min/ace.js" type="text/javascript" charset="utf-8"></script>

添加代码到编辑器
首先设置一个id为editor的div 然后在script里面调用ace.edit()方法,代码如下
var editor = ace.edit("editor"); 
editor.getSession().setMode("ace/mode/javascript");您可以重命名变量,为了方便起见,我定义了var editor作为变量,你也可以定义var demoeditor作为变量。第二行声明使用哪种类型的语言高亮显示。您可以从 src 目录选择其他语言集合。这里是一些支持支持的语言集合:

SQL
Ruby
SASS
PHP
Objectivec
Csharp
Java
JSON
使用额外的参数
editor.setTheme("ace/theme/dawn"); 
editor.getSession().setTabSize(2); 
editor.getSession().setUseWrapMode(true);

这3行代码是关于文本输入效果的,第一行改变代码默认的语法颜色和主题,在src目录下个有几十个新的主题,你可以从中任意选择
另外两个选项是关于用户体验。通常情况下,按一个键盘上的Tab键将输入4个空格,这里我设置成2个空格,此外,该文本在默认情况下将不会自动换行,超了会追加一个水平滚动条向外延伸。但使用这种方法setUseWrapMode(true),我们可以修复自动换行的问题。
还有一些其他的命令,你可以参考ACE向导。这里面包含了改变光标的位置,动态添加新内容,或复制的文本的全部内容。
CSS代码
#editor { 
margin-left: 15px; 
margin-top: 15px; 
width: 1000px; 
height: 400px; 
}

JavaScript建立一个语法高亮输入框实现思路
Javascript 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
ie 调试javascript的工具
Apr 29 Javascript
JQuery与JSon实现的无刷新分页代码
Sep 13 Javascript
使用原生javascript创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
jquery click([data],fn)使用方法实例介绍
Jul 08 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
Nov 19 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
Nov 29 Javascript
javascript实现图片自动和可控的轮播切换特效
Apr 13 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
vue使用axios上传文件(FormData)的方法
Apr 14 Javascript
vue项目中mock.js的使用及基本用法
May 22 Javascript
js批量设置样式的三种方法不推荐使用with
Feb 25 #Javascript
js 获取计算后的样式写法及注意事项
Feb 25 #Javascript
js调用webservice中的方法实现思路及代码
Feb 25 #Javascript
JS获取页面input控件中所有text控件并追加样式属性
Feb 25 #Javascript
JS+CSS制作DIV层可(最小化/拖拽/排序)功能实现代码
Feb 25 #Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
Feb 25 #Javascript
30分钟就入门的正则表达式基础教程
Feb 25 #Javascript
You might like
PHP 一个随机字符串生成代码
2010/05/26 PHP
php遍历文件夹所有文件子文件夹函数代码
2013/11/27 PHP
Codeigniter框架的更新事务(transaction)BUG及解决方法
2014/07/25 PHP
linux中cd命令使用详解
2015/01/08 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
定位地理位置PHP判断员工打卡签到经纬度是否在打卡之内
2019/05/23 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
Dojo 学习笔记入门篇 First Dojo Example
2009/11/15 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
js和jquery中循环的退出和继续下一个循环
2014/09/03 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
JS实现预加载视频音频/视频获取截图(返回canvas截图)
2017/10/09 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
Vue CLI3.0中使用jQuery和Bootstrap的方法
2019/02/28 jQuery
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
win7安装python生成随机数代码分享
2013/12/27 Python
Python去除字符串两端空格的方法
2015/05/21 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Python3.6 中的pyinstaller安装和使用教程
2020/03/16 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
Linux中如何用命令创建目录
2016/12/02 面试题
《识字五》教学反思
2014/03/01 职场文书
委托书怎么写
2014/07/31 职场文书
理财计划书
2014/08/14 职场文书
甲乙双方合作协议书
2014/10/13 职场文书