好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

使用JavaScript建立一个语法高亮输入框

使用JavaScript建立一个语法高亮输入框

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;
   1000px;
  height: 400px;
} 

演示,在下面的编辑框中你可以任意编辑代码

 

本文地址: 使用JavaScript建立一个语法高亮输入框

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于使用JavaScript建立一个语法高亮输入框的详细内容...

  阅读:41次