2012-04-27 87 views

回答

1

一個https://github.com/cloudhead/hijs是有用的我一直希望擁有textarea元素添加了功能,如代碼高亮,同時還保持爲簡單的可編輯文本區域。我在這裏進行了一些嘗試:http://www.dcc.uchile.cl/~jmunoz/

它遠不是最優的,而且很麻煩,但仍然...它允許使用任意規則突出顯示文本。我曾經有一個工作版本,允許改變文本顏色(而不僅僅是背景),但它有一些問題。

基本上我所做的是添加一個div疊加層,其文本區域的內容和字體樣式與透明字體完全相同。裏面的文字具有span元件包裹特定詞語和短語可具有特殊的背景,邊框等

爲了允許不同的字體顏色,我試圖使所述textarea文本透明的,而示出了覆蓋div文本。那裏的主要問題是光標也變得透明。

我會說使用帶editablecontent的div看起來是一個更好的選擇。

+0

這就是我正在尋找的。我會玩你的代碼一段時間。 – Rahul 2012-05-07 12:31:28

+0

我還能得到賞金嗎?大聲笑。但是,真的,不要太信任這些代碼,那時我是一個經驗不足的程序員。你可以隨心所欲地做任何事情,但如果我是你,我只能用它作爲參考並從頭開始構建它。 – 2012-05-07 18:19:43

+0

我希望你能得到大聲笑。我從頭開始創建,它只是我需要一些簡單的基本代碼來開始,併爲它創建一個合適的庫:) – Rahul 2012-05-08 08:00:02

0

由於文本區域不能包含標記,因此不能高亮顯示本身。我用於內聯拼寫檢查器的方法是將拼寫錯誤的單詞覆蓋div。這是可能的,因爲可以在文本中獲取單詞的x和y位置。

但是,最好將textarea覆蓋一個內容可編輯的div,這將允許您將內容包裹在span中,然後應用樣式。

1

我認爲你可以使用帶有content editable屬性的div或section標籤。在這個div或者section裏面,你可以爲higlight函數,變量等使用額外的標記。但是這個屬性只能在支持html5屬性內容的新瀏覽器中編輯。這裏是一個demo

如果你需要一個簡單的JS highligter,可能這對你的任務