2013-07-10 43 views
0

這個讓我瘋狂,Google讓我沒有什麼幫助。在ContentEditable中解析HTML實時

問題: 是否有可能在div內運行Html的實時分析器?

問題: 當您在contenteditable div中鍵入內容時Html並不是頁面的「真實」部分。 所以,如果我輸入

<b>this is a test</b>

然後,它會繼續下去的話,不會自動轉化爲這是一個測試

目標:

<b>this is a test</b>轉變爲這是一個測試

奇怪的是,如果我通過Firebug的編輯頁面,將標籤插入到旁邊的類型化Html中,然後它不會將其轉換爲「真正的」Html。

然而,當<br>鍵入然後通過螢火蟲在旁邊鍵入第二個<br>它會這樣做。 (第二個<br>將使輸入的<br>'真實'Html。)

鍵入的標記不會轉換爲Html特殊字符,而是實際的標記,但不會轉換爲Html。如果您通過Firebug強制使用Html標記,那麼它們會顯示爲真正的Html格式。

我試了很多,我已經燒掉了想法。 我明白,ContentEditable是一項新技術,但任何幫助將不勝感激!

道歉,如果這是令人難以置信的不清楚和混亂,這是一個真正的屁股解釋。

+1

對於初學者來說:[Rich text editing](https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla),還有一些[重](https://developer.mozilla.org/ en-US/docs/Web/API/Selection)... – Teemu

回答

0

也許你將解析留給瀏覽器。使用兩個元素,一個鍵入和另一個後面顯示渲染的輸出。

嘗試在HTML副本(通過JS)到背景元素之後,在編輯器元素中使用透明度。

+1

聰明。它的工作原理,這裏是一個演示夥計[http://jsfiddle.net/euF2E/2/](http://jsfiddle.net/euF2E/2/)。 或者至少它在演示中工作。我不知道爲什麼它不適合我更復雜的項目。我想我會放棄並重新開始構建這個框架,而不是試圖迫使現在改變。 謝謝Feeela。 –