JavaScript建立一個文法高亮輸入框實現思路

來源:互聯網
上載者:User

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;
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.