2014-01-09 65 views
0

我已經搜索了高和低的解決方案,我的問題,但不幸找不到任何用途,所以我想知道你們是否可以幫助我。在DIV中呈現的文本區域中的HTML代碼

我希望將輸入到文本區域的HTML代碼實時地渲染到同一頁面上的DIV元素中。目前,我有:

$('#codeBox').keyup(function() { 
    var keyed = $('#codeBox').val(); 
    $("#preview").html(keyed); 
}); 

我希望我格式化正確處理。這很可能(通常是)「答案在我面前一直是正確的」的情況下,對不起,如果是這樣的話!

我的代碼有問題嗎?你們能否提出一個替代方案?

預先感謝您。

+1

這是在文檔準備處理程序?事件是否被觸發? – PSL

+1

你的代碼在這裏看起來很好:http://jsfiddle.net/fv6bk/ –

+0

由於你的'id'是'codeBox'我猜你的問題可能與HTML編碼有關,下面是一個演示:http:// jsfiddle.net/MJ2Bm/(來源:http://stackoverflow.com/questions/1219860/html-encoding-in-javascript-jquery)。 – Joe

回答

1

你不能把小於號大於和小於中元素的的innerHTML,所以你需要使用實體因爲大於和小於體徵:

$('#codeBox').keyup(function() { 
    var keyed = $('#codeBox').val(); 
    keyed = keyed.replace(/</g, "&lt;") 
    keyed = keyed.replace(/>/g, "&gt;") 
    $("#preview").html(keyed); 
}); 

DEMO

+0

謝謝 - 這看起來不適用於我正在使用的插件(Codemirror),但它適用於普通的文本區域。謝謝。 :D – Joel

+0

@ user2559745我很抱歉聽到這個消息,我會仔細研究一下 – Cilan

+0

@ user2559745請問您可以做一個小提琴嗎? – Cilan