我有兩個簡單的textareas,我想突出顯示正在編寫的JavaScript代碼。 只要用戶在文本區域輸入函數,關鍵字等就必須以不同的顏色顯示。在文本區域中突出顯示簡單的Javascript?
我試圖破解此script。但無法得到我想要的。
我有兩個簡單的textareas,我想突出顯示正在編寫的JavaScript代碼。 只要用戶在文本區域輸入函數,關鍵字等就必須以不同的顏色顯示。在文本區域中突出顯示簡單的Javascript?
我試圖破解此script。但無法得到我想要的。
一個https://github.com/cloudhead/hijs是有用的我一直希望擁有textarea
元素添加了功能,如代碼高亮,同時還保持爲簡單的可編輯文本區域。我在這裏進行了一些嘗試:http://www.dcc.uchile.cl/~jmunoz/
它遠不是最優的,而且很麻煩,但仍然...它允許使用任意規則突出顯示文本。我曾經有一個工作版本,允許改變文本顏色(而不僅僅是背景),但它有一些問題。
基本上我所做的是添加一個div
疊加層,其文本區域的內容和字體樣式與透明字體完全相同。裏面的文字具有span
元件包裹特定詞語和短語可具有特殊的背景,邊框等
爲了允許不同的字體顏色,我試圖使所述textarea
文本透明的,而示出了覆蓋div
文本。那裏的主要問題是光標也變得透明。
我會說使用帶editablecontent的div
看起來是一個更好的選擇。
您可以檢查Ace(demo)和CodeMirror(demo)。我想Textarea that can do syntax highlighting on the fly?和Online Code Editor問題也會對你有用。
由於文本區域不能包含標記,因此不能高亮顯示本身。我用於內聯拼寫檢查器的方法是將拼寫錯誤的單詞覆蓋div。這是可能的,因爲可以在文本中獲取單詞的x和y位置。
但是,最好將textarea覆蓋一個內容可編輯的div,這將允許您將內容包裹在span中,然後應用樣式。
我認爲你可以使用帶有content editable屬性的div或section標籤。在這個div或者section裏面,你可以爲higlight函數,變量等使用額外的標記。但是這個屬性只能在支持html5屬性內容的新瀏覽器中編輯。這裏是一個demo
如果你需要一個簡單的JS highligter,可能這對你的任務
這就是我正在尋找的。我會玩你的代碼一段時間。 – Rahul 2012-05-07 12:31:28
我還能得到賞金嗎?大聲笑。但是,真的,不要太信任這些代碼,那時我是一個經驗不足的程序員。你可以隨心所欲地做任何事情,但如果我是你,我只能用它作爲參考並從頭開始構建它。 – 2012-05-07 18:19:43
我希望你能得到大聲笑。我從頭開始創建,它只是我需要一些簡單的基本代碼來開始,併爲它創建一個合適的庫:) – Rahul 2012-05-08 08:00:02