JavaScript建立一個語法高亮輸入框實現(xiàn)思路
更新時間:2013年02月26日 09:55:53 作者:
通常網站自帶的textarea編輯器不能滿足我們的需求比如高亮顯示代碼等,在這篇文章中,我將使用JavaScript庫ACE來創(chuàng)建一個輸入框效果,該腳本允許開發(fā)人員創(chuàng)建支持語法高亮的輸入框,感興趣的你可不要錯過了哈
textarea元素已被廣泛用于網頁Web的IDE。通常網站自帶的textarea編輯器不能滿足我們的需求,作為一名開發(fā)者我們經常需要進行代碼的在線編輯,高亮顯示代碼等,因此,通過其他的開源項目,我們可以添加一些實用的功能, 在這篇文章中,我將使用JavaScript庫ACE來創(chuàng)建一個輸入框效果。這是一個完全開源的腳本。該腳本允許開發(fā)人員創(chuàng)建支持語法高亮的輸入框。然后你可以代碼嵌入到網站中的任何地方
下載庫 首先我們需要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
使用額外的參數(shù)
editor.setTheme("ace/theme/dawn");
editor.getSession().setTabSize(2);
editor.getSession().setUseWrapMode(true);
這3行代碼是關于文本輸入效果的,第一行改變代碼默認的語法顏色和主題,在src目錄下個有幾十個新的主題,你可以從中任意選擇
另外兩個選項是關于用戶體驗。通常情況下,按一個鍵盤上的Tab鍵將輸入4個空格,這里我設置成2個空格,此外,該文本在默認情況下將不會自動換行,超了會追加一個水平滾動條向外延伸。但使用這種方法setUseWrapMode(true),我們可以修復自動換行的問題。
還有一些其他的命令,你可以參考ACE向導。這里面包含了改變光標的位置,動態(tài)添加新內容,或復制的文本的全部內容。
CSS代碼
#editor {
margin-left: 15px;
margin-top: 15px;
width: 1000px;
height: 400px;
}
下載庫 首先我們需要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
使用額外的參數(shù)
復制代碼 代碼如下:
editor.setTheme("ace/theme/dawn");
editor.getSession().setTabSize(2);
editor.getSession().setUseWrapMode(true);
這3行代碼是關于文本輸入效果的,第一行改變代碼默認的語法顏色和主題,在src目錄下個有幾十個新的主題,你可以從中任意選擇
另外兩個選項是關于用戶體驗。通常情況下,按一個鍵盤上的Tab鍵將輸入4個空格,這里我設置成2個空格,此外,該文本在默認情況下將不會自動換行,超了會追加一個水平滾動條向外延伸。但使用這種方法setUseWrapMode(true),我們可以修復自動換行的問題。
還有一些其他的命令,你可以參考ACE向導。這里面包含了改變光標的位置,動態(tài)添加新內容,或復制的文本的全部內容。
CSS代碼
復制代碼 代碼如下:
#editor {
margin-left: 15px;
margin-top: 15px;
width: 1000px;
height: 400px;
}

相關文章
基于js原生和ajax的get和post方法以及jsonp的原生寫法實例
下面小編就為大家?guī)硪黄趈s原生和ajax的get和post方法以及jsonp的原生寫法實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10Webpack實現(xiàn)按需打包Lodash的幾種方法詳解
這篇文章主要給大家介紹了關于Webpack實現(xiàn)按需打包Lodash的幾種方法,文中介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-05-05JavaScript使用localStorage存儲數(shù)據
這篇文章主要為大家詳細介紹了JavaScript使用localStorage存儲數(shù)據,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09用javascript實現(xiàn)li 列表數(shù)據隔行變換背景顏色
客戶端效果,效率自然不錯。以前的做法是偶數(shù)行時給li加一個class,方法當然不可取,如果后臺讀取再加class就很麻煩了,看看這個效果2007-08-08